1#[allow(unused_imports)]
2use progenitor_client::{encode_path, ClientHooks, OperationInfo, RequestBuilderExt};
3#[allow(unused_imports)]
4pub use progenitor_client::{ByteStream, ClientInfo, Error, ResponseValue};
5pub use near_account_id::AccountId;
6 #[doc = r" Error types."]
7 pub mod error {
8 #[doc = r" Error from a `TryFrom` or `FromStr` implementation."]
9 pub struct ConversionError(::std::borrow::Cow<'static, str>);
10 impl ::std::error::Error for ConversionError {}
11 impl ::std::fmt::Display for ConversionError {
12 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> Result<(), ::std::fmt::Error> {
13 ::std::fmt::Display::fmt(&self.0, f)
14 }
15 }
16 impl ::std::fmt::Debug for ConversionError {
17 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> Result<(), ::std::fmt::Error> {
18 ::std::fmt::Debug::fmt(&self.0, f)
19 }
20 }
21 impl From<&'static str> for ConversionError {
22 fn from(value: &'static str) -> Self {
23 Self(value.into())
24 }
25 }
26 impl From<String> for ConversionError {
27 fn from(value: String) -> Self {
28 Self(value.into())
29 }
30 }
31 }
32 #[doc = "Access key provides limited access to an account. Each access key belongs to some account and\n is identified by a unique (within the account) public key. One account may have large number of\n access keys. Access keys allow to act on behalf of the account by restricting transactions\n that can be issued.\n `account_id,public_key` is a key in the state"]
33 #[doc = r""]
34 #[doc = r" <details><summary>JSON schema</summary>"]
35 #[doc = r""]
36 #[doc = r" ```json"]
37 #[doc = "{"]
38 #[doc = " \"description\": \"Access key provides limited access to an account. Each access key belongs to some account and\\n is identified by a unique (within the account) public key. One account may have large number of\\n access keys. Access keys allow to act on behalf of the account by restricting transactions\\n that can be issued.\\n `account_id,public_key` is a key in the state\","]
39 #[doc = " \"type\": \"object\","]
40 #[doc = " \"required\": ["]
41 #[doc = " \"nonce\","]
42 #[doc = " \"permission\""]
43 #[doc = " ],"]
44 #[doc = " \"properties\": {"]
45 #[doc = " \"nonce\": {"]
46 #[doc = " \"description\": \"Nonce for this access key, used for tx nonce generation. When access key is created, nonce\\n is set to `(block_height - 1) * 1e6` to avoid tx hash collision on access key re-creation.\\n See <https://github.com/near/nearcore/issues/3779> for more details.\","]
47 #[doc = " \"type\": \"integer\","]
48 #[doc = " \"format\": \"uint64\","]
49 #[doc = " \"minimum\": 0.0"]
50 #[doc = " },"]
51 #[doc = " \"permission\": {"]
52 #[doc = " \"description\": \"Defines permissions for this access key.\","]
53 #[doc = " \"allOf\": ["]
54 #[doc = " {"]
55 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyPermission\""]
56 #[doc = " }"]
57 #[doc = " ]"]
58 #[doc = " }"]
59 #[doc = " }"]
60 #[doc = "}"]
61 #[doc = r" ```"]
62 #[doc = r" </details>"]
63 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
64 pub struct AccessKey {
65 #[doc = "Nonce for this access key, used for tx nonce generation. When access key is created, nonce\n is set to `(block_height - 1) * 1e6` to avoid tx hash collision on access key re-creation.\n See <https://github.com/near/nearcore/issues/3779> for more details."]
66 pub nonce: u64,
67 #[doc = "Defines permissions for this access key."]
68 pub permission: AccessKeyPermission,
69 }
70 impl ::std::convert::From<&AccessKey> for AccessKey {
71 fn from(value: &AccessKey) -> Self {
72 value.clone()
73 }
74 }
75 #[doc = "Describes the cost of creating an access key."]
76 #[doc = r""]
77 #[doc = r" <details><summary>JSON schema</summary>"]
78 #[doc = r""]
79 #[doc = r" ```json"]
80 #[doc = "{"]
81 #[doc = " \"description\": \"Describes the cost of creating an access key.\","]
82 #[doc = " \"type\": \"object\","]
83 #[doc = " \"required\": ["]
84 #[doc = " \"full_access_cost\","]
85 #[doc = " \"function_call_cost\","]
86 #[doc = " \"function_call_cost_per_byte\""]
87 #[doc = " ],"]
88 #[doc = " \"properties\": {"]
89 #[doc = " \"full_access_cost\": {"]
90 #[doc = " \"description\": \"Base cost of creating a full access access-key.\","]
91 #[doc = " \"allOf\": ["]
92 #[doc = " {"]
93 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
94 #[doc = " }"]
95 #[doc = " ]"]
96 #[doc = " },"]
97 #[doc = " \"function_call_cost\": {"]
98 #[doc = " \"description\": \"Base cost of creating an access-key restricted to specific functions.\","]
99 #[doc = " \"allOf\": ["]
100 #[doc = " {"]
101 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
102 #[doc = " }"]
103 #[doc = " ]"]
104 #[doc = " },"]
105 #[doc = " \"function_call_cost_per_byte\": {"]
106 #[doc = " \"description\": \"Cost per byte of method_names of creating a restricted access-key.\","]
107 #[doc = " \"allOf\": ["]
108 #[doc = " {"]
109 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
110 #[doc = " }"]
111 #[doc = " ]"]
112 #[doc = " }"]
113 #[doc = " }"]
114 #[doc = "}"]
115 #[doc = r" ```"]
116 #[doc = r" </details>"]
117 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
118 pub struct AccessKeyCreationConfigView {
119 #[doc = "Base cost of creating a full access access-key."]
120 pub full_access_cost: Fee,
121 #[doc = "Base cost of creating an access-key restricted to specific functions."]
122 pub function_call_cost: Fee,
123 #[doc = "Cost per byte of method_names of creating a restricted access-key."]
124 pub function_call_cost_per_byte: Fee,
125 }
126 impl ::std::convert::From<&AccessKeyCreationConfigView> for AccessKeyCreationConfigView {
127 fn from(value: &AccessKeyCreationConfigView) -> Self {
128 value.clone()
129 }
130 }
131 #[doc = "`AccessKeyInfoView`"]
132 #[doc = r""]
133 #[doc = r" <details><summary>JSON schema</summary>"]
134 #[doc = r""]
135 #[doc = r" ```json"]
136 #[doc = "{"]
137 #[doc = " \"type\": \"object\","]
138 #[doc = " \"required\": ["]
139 #[doc = " \"access_key\","]
140 #[doc = " \"public_key\""]
141 #[doc = " ],"]
142 #[doc = " \"properties\": {"]
143 #[doc = " \"access_key\": {"]
144 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyView\""]
145 #[doc = " },"]
146 #[doc = " \"public_key\": {"]
147 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
148 #[doc = " }"]
149 #[doc = " }"]
150 #[doc = "}"]
151 #[doc = r" ```"]
152 #[doc = r" </details>"]
153 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
154 pub struct AccessKeyInfoView {
155 pub access_key: AccessKeyView,
156 pub public_key: PublicKey,
157 }
158 impl ::std::convert::From<&AccessKeyInfoView> for AccessKeyInfoView {
159 fn from(value: &AccessKeyInfoView) -> Self {
160 value.clone()
161 }
162 }
163 #[doc = "`AccessKeyList`"]
164 #[doc = r""]
165 #[doc = r" <details><summary>JSON schema</summary>"]
166 #[doc = r""]
167 #[doc = r" ```json"]
168 #[doc = "{"]
169 #[doc = " \"type\": \"object\","]
170 #[doc = " \"required\": ["]
171 #[doc = " \"keys\""]
172 #[doc = " ],"]
173 #[doc = " \"properties\": {"]
174 #[doc = " \"keys\": {"]
175 #[doc = " \"type\": \"array\","]
176 #[doc = " \"items\": {"]
177 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyInfoView\""]
178 #[doc = " }"]
179 #[doc = " }"]
180 #[doc = " }"]
181 #[doc = "}"]
182 #[doc = r" ```"]
183 #[doc = r" </details>"]
184 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
185 pub struct AccessKeyList {
186 pub keys: ::std::vec::Vec<AccessKeyInfoView>,
187 }
188 impl ::std::convert::From<&AccessKeyList> for AccessKeyList {
189 fn from(value: &AccessKeyList) -> Self {
190 value.clone()
191 }
192 }
193 #[doc = "Defines permissions for AccessKey"]
194 #[doc = r""]
195 #[doc = r" <details><summary>JSON schema</summary>"]
196 #[doc = r""]
197 #[doc = r" ```json"]
198 #[doc = "{"]
199 #[doc = " \"description\": \"Defines permissions for AccessKey\","]
200 #[doc = " \"oneOf\": ["]
201 #[doc = " {"]
202 #[doc = " \"type\": \"object\","]
203 #[doc = " \"required\": ["]
204 #[doc = " \"FunctionCall\""]
205 #[doc = " ],"]
206 #[doc = " \"properties\": {"]
207 #[doc = " \"FunctionCall\": {"]
208 #[doc = " \"$ref\": \"#/components/schemas/FunctionCallPermission\""]
209 #[doc = " }"]
210 #[doc = " },"]
211 #[doc = " \"additionalProperties\": false"]
212 #[doc = " },"]
213 #[doc = " {"]
214 #[doc = " \"description\": \"Grants full access to the account.\\n NOTE: It's used to replace account-level public keys.\","]
215 #[doc = " \"type\": \"string\","]
216 #[doc = " \"enum\": ["]
217 #[doc = " \"FullAccess\""]
218 #[doc = " ]"]
219 #[doc = " }"]
220 #[doc = " ]"]
221 #[doc = "}"]
222 #[doc = r" ```"]
223 #[doc = r" </details>"]
224 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
225 pub enum AccessKeyPermission {
226 FunctionCall(FunctionCallPermission),
227 #[doc = "Grants full access to the account.\n NOTE: It's used to replace account-level public keys."]
228 FullAccess,
229 }
230 impl ::std::convert::From<&Self> for AccessKeyPermission {
231 fn from(value: &AccessKeyPermission) -> Self {
232 value.clone()
233 }
234 }
235 impl ::std::convert::From<FunctionCallPermission> for AccessKeyPermission {
236 fn from(value: FunctionCallPermission) -> Self {
237 Self::FunctionCall(value)
238 }
239 }
240 #[doc = "`AccessKeyPermissionView`"]
241 #[doc = r""]
242 #[doc = r" <details><summary>JSON schema</summary>"]
243 #[doc = r""]
244 #[doc = r" ```json"]
245 #[doc = "{"]
246 #[doc = " \"oneOf\": ["]
247 #[doc = " {"]
248 #[doc = " \"type\": \"string\","]
249 #[doc = " \"enum\": ["]
250 #[doc = " \"FullAccess\""]
251 #[doc = " ]"]
252 #[doc = " },"]
253 #[doc = " {"]
254 #[doc = " \"type\": \"object\","]
255 #[doc = " \"required\": ["]
256 #[doc = " \"FunctionCall\""]
257 #[doc = " ],"]
258 #[doc = " \"properties\": {"]
259 #[doc = " \"FunctionCall\": {"]
260 #[doc = " \"type\": \"object\","]
261 #[doc = " \"required\": ["]
262 #[doc = " \"method_names\","]
263 #[doc = " \"receiver_id\""]
264 #[doc = " ],"]
265 #[doc = " \"properties\": {"]
266 #[doc = " \"allowance\": {"]
267 #[doc = " \"type\": ["]
268 #[doc = " \"string\","]
269 #[doc = " \"null\""]
270 #[doc = " ]"]
271 #[doc = " },"]
272 #[doc = " \"method_names\": {"]
273 #[doc = " \"type\": \"array\","]
274 #[doc = " \"items\": {"]
275 #[doc = " \"type\": \"string\""]
276 #[doc = " }"]
277 #[doc = " },"]
278 #[doc = " \"receiver_id\": {"]
279 #[doc = " \"type\": \"string\""]
280 #[doc = " }"]
281 #[doc = " }"]
282 #[doc = " }"]
283 #[doc = " },"]
284 #[doc = " \"additionalProperties\": false"]
285 #[doc = " }"]
286 #[doc = " ]"]
287 #[doc = "}"]
288 #[doc = r" ```"]
289 #[doc = r" </details>"]
290 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
291 pub enum AccessKeyPermissionView {
292 FullAccess,
293 FunctionCall {
294 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
295 allowance: ::std::option::Option<::std::string::String>,
296 method_names: ::std::vec::Vec<::std::string::String>,
297 receiver_id: ::std::string::String,
298 },
299 }
300 impl ::std::convert::From<&Self> for AccessKeyPermissionView {
301 fn from(value: &AccessKeyPermissionView) -> Self {
302 value.clone()
303 }
304 }
305 #[doc = "`AccessKeyView`"]
306 #[doc = r""]
307 #[doc = r" <details><summary>JSON schema</summary>"]
308 #[doc = r""]
309 #[doc = r" ```json"]
310 #[doc = "{"]
311 #[doc = " \"type\": \"object\","]
312 #[doc = " \"required\": ["]
313 #[doc = " \"nonce\","]
314 #[doc = " \"permission\""]
315 #[doc = " ],"]
316 #[doc = " \"properties\": {"]
317 #[doc = " \"nonce\": {"]
318 #[doc = " \"type\": \"integer\","]
319 #[doc = " \"format\": \"uint64\","]
320 #[doc = " \"minimum\": 0.0"]
321 #[doc = " },"]
322 #[doc = " \"permission\": {"]
323 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyPermissionView\""]
324 #[doc = " }"]
325 #[doc = " }"]
326 #[doc = "}"]
327 #[doc = r" ```"]
328 #[doc = r" </details>"]
329 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
330 pub struct AccessKeyView {
331 pub nonce: u64,
332 pub permission: AccessKeyPermissionView,
333 }
334 impl ::std::convert::From<&AccessKeyView> for AccessKeyView {
335 fn from(value: &AccessKeyView) -> Self {
336 value.clone()
337 }
338 }
339 #[doc = "The structure describes configuration for creation of new accounts."]
340 #[doc = r""]
341 #[doc = r" <details><summary>JSON schema</summary>"]
342 #[doc = r""]
343 #[doc = r" ```json"]
344 #[doc = "{"]
345 #[doc = " \"description\": \"The structure describes configuration for creation of new accounts.\","]
346 #[doc = " \"type\": \"object\","]
347 #[doc = " \"required\": ["]
348 #[doc = " \"min_allowed_top_level_account_length\","]
349 #[doc = " \"registrar_account_id\""]
350 #[doc = " ],"]
351 #[doc = " \"properties\": {"]
352 #[doc = " \"min_allowed_top_level_account_length\": {"]
353 #[doc = " \"description\": \"The minimum length of the top-level account ID that is allowed to be created by any account.\","]
354 #[doc = " \"type\": \"integer\","]
355 #[doc = " \"format\": \"uint8\","]
356 #[doc = " \"minimum\": 0.0"]
357 #[doc = " },"]
358 #[doc = " \"registrar_account_id\": {"]
359 #[doc = " \"description\": \"The account ID of the account registrar. This account ID allowed to create top-level\\n accounts of any valid length.\","]
360 #[doc = " \"allOf\": ["]
361 #[doc = " {"]
362 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
363 #[doc = " }"]
364 #[doc = " ]"]
365 #[doc = " }"]
366 #[doc = " }"]
367 #[doc = "}"]
368 #[doc = r" ```"]
369 #[doc = r" </details>"]
370 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
371 pub struct AccountCreationConfigView {
372 #[doc = "The minimum length of the top-level account ID that is allowed to be created by any account."]
373 pub min_allowed_top_level_account_length: u8,
374 #[doc = "The account ID of the account registrar. This account ID allowed to create top-level\n accounts of any valid length."]
375 pub registrar_account_id: AccountId,
376 }
377 impl ::std::convert::From<&AccountCreationConfigView> for AccountCreationConfigView {
378 fn from(value: &AccountCreationConfigView) -> Self {
379 value.clone()
380 }
381 }
382 #[doc = "`AccountDataView`"]
383 #[doc = r""]
384 #[doc = r" <details><summary>JSON schema</summary>"]
385 #[doc = r""]
386 #[doc = r" ```json"]
387 #[doc = "{"]
388 #[doc = " \"type\": \"object\","]
389 #[doc = " \"required\": ["]
390 #[doc = " \"account_key\","]
391 #[doc = " \"peer_id\","]
392 #[doc = " \"proxies\","]
393 #[doc = " \"timestamp\""]
394 #[doc = " ],"]
395 #[doc = " \"properties\": {"]
396 #[doc = " \"account_key\": {"]
397 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
398 #[doc = " },"]
399 #[doc = " \"peer_id\": {"]
400 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
401 #[doc = " },"]
402 #[doc = " \"proxies\": {"]
403 #[doc = " \"type\": \"array\","]
404 #[doc = " \"items\": {"]
405 #[doc = " \"$ref\": \"#/components/schemas/Tier1ProxyView\""]
406 #[doc = " }"]
407 #[doc = " },"]
408 #[doc = " \"timestamp\": {"]
409 #[doc = " \"type\": \"string\""]
410 #[doc = " }"]
411 #[doc = " }"]
412 #[doc = "}"]
413 #[doc = r" ```"]
414 #[doc = r" </details>"]
415 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
416 pub struct AccountDataView {
417 pub account_key: PublicKey,
418 pub peer_id: PublicKey,
419 pub proxies: ::std::vec::Vec<Tier1ProxyView>,
420 pub timestamp: ::std::string::String,
421 }
422 impl ::std::convert::From<&AccountDataView> for AccountDataView {
423 fn from(value: &AccountDataView) -> Self {
424 value.clone()
425 }
426 }
427 #[doc = "`AccountIdValidityRulesVersion`"]
428 #[doc = r""]
429 #[doc = r" <details><summary>JSON schema</summary>"]
430 #[doc = r""]
431 #[doc = r" ```json"]
432 #[doc = "{"]
433 #[doc = " \"type\": \"integer\","]
434 #[doc = " \"format\": \"uint8\","]
435 #[doc = " \"minimum\": 0.0"]
436 #[doc = "}"]
437 #[doc = r" ```"]
438 #[doc = r" </details>"]
439 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
440 #[serde(transparent)]
441 pub struct AccountIdValidityRulesVersion(pub u8);
442 impl ::std::ops::Deref for AccountIdValidityRulesVersion {
443 type Target = u8;
444 fn deref(&self) -> &u8 {
445 &self.0
446 }
447 }
448 impl ::std::convert::From<AccountIdValidityRulesVersion> for u8 {
449 fn from(value: AccountIdValidityRulesVersion) -> Self {
450 value.0
451 }
452 }
453 impl ::std::convert::From<&AccountIdValidityRulesVersion> for AccountIdValidityRulesVersion {
454 fn from(value: &AccountIdValidityRulesVersion) -> Self {
455 value.clone()
456 }
457 }
458 impl ::std::convert::From<u8> for AccountIdValidityRulesVersion {
459 fn from(value: u8) -> Self {
460 Self(value)
461 }
462 }
463 impl ::std::str::FromStr for AccountIdValidityRulesVersion {
464 type Err = <u8 as ::std::str::FromStr>::Err;
465 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
466 Ok(Self(value.parse()?))
467 }
468 }
469 impl ::std::convert::TryFrom<&str> for AccountIdValidityRulesVersion {
470 type Error = <u8 as ::std::str::FromStr>::Err;
471 fn try_from(value: &str) -> ::std::result::Result<Self, Self::Error> {
472 value.parse()
473 }
474 }
475 impl ::std::convert::TryFrom<&String> for AccountIdValidityRulesVersion {
476 type Error = <u8 as ::std::str::FromStr>::Err;
477 fn try_from(value: &String) -> ::std::result::Result<Self, Self::Error> {
478 value.parse()
479 }
480 }
481 impl ::std::convert::TryFrom<String> for AccountIdValidityRulesVersion {
482 type Error = <u8 as ::std::str::FromStr>::Err;
483 fn try_from(value: String) -> ::std::result::Result<Self, Self::Error> {
484 value.parse()
485 }
486 }
487 impl ::std::fmt::Display for AccountIdValidityRulesVersion {
488 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
489 self.0.fmt(f)
490 }
491 }
492 #[doc = "Account info for validators"]
493 #[doc = r""]
494 #[doc = r" <details><summary>JSON schema</summary>"]
495 #[doc = r""]
496 #[doc = r" ```json"]
497 #[doc = "{"]
498 #[doc = " \"description\": \"Account info for validators\","]
499 #[doc = " \"type\": \"object\","]
500 #[doc = " \"required\": ["]
501 #[doc = " \"account_id\","]
502 #[doc = " \"amount\","]
503 #[doc = " \"public_key\""]
504 #[doc = " ],"]
505 #[doc = " \"properties\": {"]
506 #[doc = " \"account_id\": {"]
507 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
508 #[doc = " },"]
509 #[doc = " \"amount\": {"]
510 #[doc = " \"type\": \"string\""]
511 #[doc = " },"]
512 #[doc = " \"public_key\": {"]
513 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
514 #[doc = " }"]
515 #[doc = " }"]
516 #[doc = "}"]
517 #[doc = r" ```"]
518 #[doc = r" </details>"]
519 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
520 pub struct AccountInfo {
521 pub account_id: AccountId,
522 pub amount: ::std::string::String,
523 pub public_key: PublicKey,
524 }
525 impl ::std::convert::From<&AccountInfo> for AccountInfo {
526 fn from(value: &AccountInfo) -> Self {
527 value.clone()
528 }
529 }
530 #[doc = "A view of the account"]
531 #[doc = r""]
532 #[doc = r" <details><summary>JSON schema</summary>"]
533 #[doc = r""]
534 #[doc = r" ```json"]
535 #[doc = "{"]
536 #[doc = " \"description\": \"A view of the account\","]
537 #[doc = " \"type\": \"object\","]
538 #[doc = " \"required\": ["]
539 #[doc = " \"amount\","]
540 #[doc = " \"code_hash\","]
541 #[doc = " \"locked\","]
542 #[doc = " \"storage_usage\""]
543 #[doc = " ],"]
544 #[doc = " \"properties\": {"]
545 #[doc = " \"amount\": {"]
546 #[doc = " \"type\": \"string\""]
547 #[doc = " },"]
548 #[doc = " \"code_hash\": {"]
549 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
550 #[doc = " },"]
551 #[doc = " \"global_contract_account_id\": {"]
552 #[doc = " \"oneOf\": ["]
553 #[doc = " {"]
554 #[doc = " \"type\": \"null\""]
555 #[doc = " },"]
556 #[doc = " {"]
557 #[doc = " \"allOf\": ["]
558 #[doc = " {"]
559 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
560 #[doc = " }"]
561 #[doc = " ]"]
562 #[doc = " }"]
563 #[doc = " ]"]
564 #[doc = " },"]
565 #[doc = " \"global_contract_hash\": {"]
566 #[doc = " \"oneOf\": ["]
567 #[doc = " {"]
568 #[doc = " \"type\": \"null\""]
569 #[doc = " },"]
570 #[doc = " {"]
571 #[doc = " \"allOf\": ["]
572 #[doc = " {"]
573 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
574 #[doc = " }"]
575 #[doc = " ]"]
576 #[doc = " }"]
577 #[doc = " ]"]
578 #[doc = " },"]
579 #[doc = " \"locked\": {"]
580 #[doc = " \"type\": \"string\""]
581 #[doc = " },"]
582 #[doc = " \"storage_paid_at\": {"]
583 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
584 #[doc = " \"default\": 0,"]
585 #[doc = " \"type\": \"integer\","]
586 #[doc = " \"format\": \"uint64\","]
587 #[doc = " \"minimum\": 0.0"]
588 #[doc = " },"]
589 #[doc = " \"storage_usage\": {"]
590 #[doc = " \"type\": \"integer\","]
591 #[doc = " \"format\": \"uint64\","]
592 #[doc = " \"minimum\": 0.0"]
593 #[doc = " }"]
594 #[doc = " }"]
595 #[doc = "}"]
596 #[doc = r" ```"]
597 #[doc = r" </details>"]
598 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
599 pub struct AccountView {
600 pub amount: ::std::string::String,
601 pub code_hash: CryptoHash,
602 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
603 pub global_contract_account_id: ::std::option::Option<AccountId>,
604 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
605 pub global_contract_hash: ::std::option::Option<CryptoHash>,
606 pub locked: ::std::string::String,
607 #[doc = "TODO(2271): deprecated."]
608 #[serde(default)]
609 pub storage_paid_at: u64,
610 pub storage_usage: u64,
611 }
612 impl ::std::convert::From<&AccountView> for AccountView {
613 fn from(value: &AccountView) -> Self {
614 value.clone()
615 }
616 }
617 #[doc = "`AccountWithPublicKey`"]
618 #[doc = r""]
619 #[doc = r" <details><summary>JSON schema</summary>"]
620 #[doc = r""]
621 #[doc = r" ```json"]
622 #[doc = "{"]
623 #[doc = " \"type\": \"object\","]
624 #[doc = " \"required\": ["]
625 #[doc = " \"account_id\","]
626 #[doc = " \"public_key\""]
627 #[doc = " ],"]
628 #[doc = " \"properties\": {"]
629 #[doc = " \"account_id\": {"]
630 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
631 #[doc = " },"]
632 #[doc = " \"public_key\": {"]
633 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
634 #[doc = " }"]
635 #[doc = " }"]
636 #[doc = "}"]
637 #[doc = r" ```"]
638 #[doc = r" </details>"]
639 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
640 pub struct AccountWithPublicKey {
641 pub account_id: AccountId,
642 pub public_key: PublicKey,
643 }
644 impl ::std::convert::From<&AccountWithPublicKey> for AccountWithPublicKey {
645 fn from(value: &AccountWithPublicKey) -> Self {
646 value.clone()
647 }
648 }
649 #[doc = "`Action`"]
650 #[doc = r""]
651 #[doc = r" <details><summary>JSON schema</summary>"]
652 #[doc = r""]
653 #[doc = r" ```json"]
654 #[doc = "{"]
655 #[doc = " \"oneOf\": ["]
656 #[doc = " {"]
657 #[doc = " \"description\": \"Create an (sub)account using a transaction `receiver_id` as an ID for\\n a new account ID must pass validation rules described here\\n <http://nomicon.io/Primitives/Account.html>.\","]
658 #[doc = " \"type\": \"object\","]
659 #[doc = " \"required\": ["]
660 #[doc = " \"CreateAccount\""]
661 #[doc = " ],"]
662 #[doc = " \"properties\": {"]
663 #[doc = " \"CreateAccount\": {"]
664 #[doc = " \"$ref\": \"#/components/schemas/CreateAccountAction\""]
665 #[doc = " }"]
666 #[doc = " },"]
667 #[doc = " \"additionalProperties\": false"]
668 #[doc = " },"]
669 #[doc = " {"]
670 #[doc = " \"description\": \"Sets a Wasm code to a receiver_id\","]
671 #[doc = " \"type\": \"object\","]
672 #[doc = " \"required\": ["]
673 #[doc = " \"DeployContract\""]
674 #[doc = " ],"]
675 #[doc = " \"properties\": {"]
676 #[doc = " \"DeployContract\": {"]
677 #[doc = " \"$ref\": \"#/components/schemas/DeployContractAction\""]
678 #[doc = " }"]
679 #[doc = " },"]
680 #[doc = " \"additionalProperties\": false"]
681 #[doc = " },"]
682 #[doc = " {"]
683 #[doc = " \"type\": \"object\","]
684 #[doc = " \"required\": ["]
685 #[doc = " \"FunctionCall\""]
686 #[doc = " ],"]
687 #[doc = " \"properties\": {"]
688 #[doc = " \"FunctionCall\": {"]
689 #[doc = " \"$ref\": \"#/components/schemas/FunctionCallAction\""]
690 #[doc = " }"]
691 #[doc = " },"]
692 #[doc = " \"additionalProperties\": false"]
693 #[doc = " },"]
694 #[doc = " {"]
695 #[doc = " \"type\": \"object\","]
696 #[doc = " \"required\": ["]
697 #[doc = " \"Transfer\""]
698 #[doc = " ],"]
699 #[doc = " \"properties\": {"]
700 #[doc = " \"Transfer\": {"]
701 #[doc = " \"$ref\": \"#/components/schemas/TransferAction\""]
702 #[doc = " }"]
703 #[doc = " },"]
704 #[doc = " \"additionalProperties\": false"]
705 #[doc = " },"]
706 #[doc = " {"]
707 #[doc = " \"type\": \"object\","]
708 #[doc = " \"required\": ["]
709 #[doc = " \"Stake\""]
710 #[doc = " ],"]
711 #[doc = " \"properties\": {"]
712 #[doc = " \"Stake\": {"]
713 #[doc = " \"$ref\": \"#/components/schemas/StakeAction\""]
714 #[doc = " }"]
715 #[doc = " },"]
716 #[doc = " \"additionalProperties\": false"]
717 #[doc = " },"]
718 #[doc = " {"]
719 #[doc = " \"type\": \"object\","]
720 #[doc = " \"required\": ["]
721 #[doc = " \"AddKey\""]
722 #[doc = " ],"]
723 #[doc = " \"properties\": {"]
724 #[doc = " \"AddKey\": {"]
725 #[doc = " \"$ref\": \"#/components/schemas/AddKeyAction\""]
726 #[doc = " }"]
727 #[doc = " },"]
728 #[doc = " \"additionalProperties\": false"]
729 #[doc = " },"]
730 #[doc = " {"]
731 #[doc = " \"type\": \"object\","]
732 #[doc = " \"required\": ["]
733 #[doc = " \"DeleteKey\""]
734 #[doc = " ],"]
735 #[doc = " \"properties\": {"]
736 #[doc = " \"DeleteKey\": {"]
737 #[doc = " \"$ref\": \"#/components/schemas/DeleteKeyAction\""]
738 #[doc = " }"]
739 #[doc = " },"]
740 #[doc = " \"additionalProperties\": false"]
741 #[doc = " },"]
742 #[doc = " {"]
743 #[doc = " \"type\": \"object\","]
744 #[doc = " \"required\": ["]
745 #[doc = " \"DeleteAccount\""]
746 #[doc = " ],"]
747 #[doc = " \"properties\": {"]
748 #[doc = " \"DeleteAccount\": {"]
749 #[doc = " \"$ref\": \"#/components/schemas/DeleteAccountAction\""]
750 #[doc = " }"]
751 #[doc = " },"]
752 #[doc = " \"additionalProperties\": false"]
753 #[doc = " },"]
754 #[doc = " {"]
755 #[doc = " \"type\": \"object\","]
756 #[doc = " \"required\": ["]
757 #[doc = " \"Delegate\""]
758 #[doc = " ],"]
759 #[doc = " \"properties\": {"]
760 #[doc = " \"Delegate\": {"]
761 #[doc = " \"$ref\": \"#/components/schemas/SignedDelegateAction\""]
762 #[doc = " }"]
763 #[doc = " },"]
764 #[doc = " \"additionalProperties\": false"]
765 #[doc = " },"]
766 #[doc = " {"]
767 #[doc = " \"type\": \"object\","]
768 #[doc = " \"required\": ["]
769 #[doc = " \"DeployGlobalContract\""]
770 #[doc = " ],"]
771 #[doc = " \"properties\": {"]
772 #[doc = " \"DeployGlobalContract\": {"]
773 #[doc = " \"$ref\": \"#/components/schemas/DeployGlobalContractAction\""]
774 #[doc = " }"]
775 #[doc = " },"]
776 #[doc = " \"additionalProperties\": false"]
777 #[doc = " },"]
778 #[doc = " {"]
779 #[doc = " \"type\": \"object\","]
780 #[doc = " \"required\": ["]
781 #[doc = " \"UseGlobalContract\""]
782 #[doc = " ],"]
783 #[doc = " \"properties\": {"]
784 #[doc = " \"UseGlobalContract\": {"]
785 #[doc = " \"$ref\": \"#/components/schemas/UseGlobalContractAction\""]
786 #[doc = " }"]
787 #[doc = " },"]
788 #[doc = " \"additionalProperties\": false"]
789 #[doc = " }"]
790 #[doc = " ]"]
791 #[doc = "}"]
792 #[doc = r" ```"]
793 #[doc = r" </details>"]
794 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
795 pub enum Action {
796 #[doc = "Create an (sub)account using a transaction `receiver_id` as an ID for\n a new account ID must pass validation rules described here\n <http://nomicon.io/Primitives/Account.html>."]
797 CreateAccount(CreateAccountAction),
798 #[doc = "Sets a Wasm code to a receiver_id"]
799 DeployContract(DeployContractAction),
800 FunctionCall(FunctionCallAction),
801 Transfer(TransferAction),
802 Stake(StakeAction),
803 AddKey(AddKeyAction),
804 DeleteKey(DeleteKeyAction),
805 DeleteAccount(DeleteAccountAction),
806 Delegate(SignedDelegateAction),
807 DeployGlobalContract(DeployGlobalContractAction),
808 UseGlobalContract(UseGlobalContractAction),
809 }
810 impl ::std::convert::From<&Self> for Action {
811 fn from(value: &Action) -> Self {
812 value.clone()
813 }
814 }
815 impl ::std::convert::From<CreateAccountAction> for Action {
816 fn from(value: CreateAccountAction) -> Self {
817 Self::CreateAccount(value)
818 }
819 }
820 impl ::std::convert::From<DeployContractAction> for Action {
821 fn from(value: DeployContractAction) -> Self {
822 Self::DeployContract(value)
823 }
824 }
825 impl ::std::convert::From<FunctionCallAction> for Action {
826 fn from(value: FunctionCallAction) -> Self {
827 Self::FunctionCall(value)
828 }
829 }
830 impl ::std::convert::From<TransferAction> for Action {
831 fn from(value: TransferAction) -> Self {
832 Self::Transfer(value)
833 }
834 }
835 impl ::std::convert::From<StakeAction> for Action {
836 fn from(value: StakeAction) -> Self {
837 Self::Stake(value)
838 }
839 }
840 impl ::std::convert::From<AddKeyAction> for Action {
841 fn from(value: AddKeyAction) -> Self {
842 Self::AddKey(value)
843 }
844 }
845 impl ::std::convert::From<DeleteKeyAction> for Action {
846 fn from(value: DeleteKeyAction) -> Self {
847 Self::DeleteKey(value)
848 }
849 }
850 impl ::std::convert::From<DeleteAccountAction> for Action {
851 fn from(value: DeleteAccountAction) -> Self {
852 Self::DeleteAccount(value)
853 }
854 }
855 impl ::std::convert::From<SignedDelegateAction> for Action {
856 fn from(value: SignedDelegateAction) -> Self {
857 Self::Delegate(value)
858 }
859 }
860 impl ::std::convert::From<DeployGlobalContractAction> for Action {
861 fn from(value: DeployGlobalContractAction) -> Self {
862 Self::DeployGlobalContract(value)
863 }
864 }
865 impl ::std::convert::From<UseGlobalContractAction> for Action {
866 fn from(value: UseGlobalContractAction) -> Self {
867 Self::UseGlobalContract(value)
868 }
869 }
870 #[doc = "Describes the cost of creating a specific action, `Action`. Includes all variants."]
871 #[doc = r""]
872 #[doc = r" <details><summary>JSON schema</summary>"]
873 #[doc = r""]
874 #[doc = r" ```json"]
875 #[doc = "{"]
876 #[doc = " \"description\": \"Describes the cost of creating a specific action, `Action`. Includes all variants.\","]
877 #[doc = " \"type\": \"object\","]
878 #[doc = " \"required\": ["]
879 #[doc = " \"add_key_cost\","]
880 #[doc = " \"create_account_cost\","]
881 #[doc = " \"delegate_cost\","]
882 #[doc = " \"delete_account_cost\","]
883 #[doc = " \"delete_key_cost\","]
884 #[doc = " \"deploy_contract_cost\","]
885 #[doc = " \"deploy_contract_cost_per_byte\","]
886 #[doc = " \"function_call_cost\","]
887 #[doc = " \"function_call_cost_per_byte\","]
888 #[doc = " \"stake_cost\","]
889 #[doc = " \"transfer_cost\""]
890 #[doc = " ],"]
891 #[doc = " \"properties\": {"]
892 #[doc = " \"add_key_cost\": {"]
893 #[doc = " \"description\": \"Base cost of adding a key.\","]
894 #[doc = " \"allOf\": ["]
895 #[doc = " {"]
896 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyCreationConfigView\""]
897 #[doc = " }"]
898 #[doc = " ]"]
899 #[doc = " },"]
900 #[doc = " \"create_account_cost\": {"]
901 #[doc = " \"description\": \"Base cost of creating an account.\","]
902 #[doc = " \"allOf\": ["]
903 #[doc = " {"]
904 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
905 #[doc = " }"]
906 #[doc = " ]"]
907 #[doc = " },"]
908 #[doc = " \"delegate_cost\": {"]
909 #[doc = " \"description\": \"Base cost for processing a delegate action.\\n\\n This is on top of the costs for the actions inside the delegate action.\","]
910 #[doc = " \"allOf\": ["]
911 #[doc = " {"]
912 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
913 #[doc = " }"]
914 #[doc = " ]"]
915 #[doc = " },"]
916 #[doc = " \"delete_account_cost\": {"]
917 #[doc = " \"description\": \"Base cost of deleting an account.\","]
918 #[doc = " \"allOf\": ["]
919 #[doc = " {"]
920 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
921 #[doc = " }"]
922 #[doc = " ]"]
923 #[doc = " },"]
924 #[doc = " \"delete_key_cost\": {"]
925 #[doc = " \"description\": \"Base cost of deleting a key.\","]
926 #[doc = " \"allOf\": ["]
927 #[doc = " {"]
928 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
929 #[doc = " }"]
930 #[doc = " ]"]
931 #[doc = " },"]
932 #[doc = " \"deploy_contract_cost\": {"]
933 #[doc = " \"description\": \"Base cost of deploying a contract.\","]
934 #[doc = " \"allOf\": ["]
935 #[doc = " {"]
936 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
937 #[doc = " }"]
938 #[doc = " ]"]
939 #[doc = " },"]
940 #[doc = " \"deploy_contract_cost_per_byte\": {"]
941 #[doc = " \"description\": \"Cost per byte of deploying a contract.\","]
942 #[doc = " \"allOf\": ["]
943 #[doc = " {"]
944 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
945 #[doc = " }"]
946 #[doc = " ]"]
947 #[doc = " },"]
948 #[doc = " \"function_call_cost\": {"]
949 #[doc = " \"description\": \"Base cost of calling a function.\","]
950 #[doc = " \"allOf\": ["]
951 #[doc = " {"]
952 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
953 #[doc = " }"]
954 #[doc = " ]"]
955 #[doc = " },"]
956 #[doc = " \"function_call_cost_per_byte\": {"]
957 #[doc = " \"description\": \"Cost per byte of method name and arguments of calling a function.\","]
958 #[doc = " \"allOf\": ["]
959 #[doc = " {"]
960 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
961 #[doc = " }"]
962 #[doc = " ]"]
963 #[doc = " },"]
964 #[doc = " \"stake_cost\": {"]
965 #[doc = " \"description\": \"Base cost of staking.\","]
966 #[doc = " \"allOf\": ["]
967 #[doc = " {"]
968 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
969 #[doc = " }"]
970 #[doc = " ]"]
971 #[doc = " },"]
972 #[doc = " \"transfer_cost\": {"]
973 #[doc = " \"description\": \"Base cost of making a transfer.\","]
974 #[doc = " \"allOf\": ["]
975 #[doc = " {"]
976 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
977 #[doc = " }"]
978 #[doc = " ]"]
979 #[doc = " }"]
980 #[doc = " }"]
981 #[doc = "}"]
982 #[doc = r" ```"]
983 #[doc = r" </details>"]
984 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
985 pub struct ActionCreationConfigView {
986 #[doc = "Base cost of adding a key."]
987 pub add_key_cost: AccessKeyCreationConfigView,
988 #[doc = "Base cost of creating an account."]
989 pub create_account_cost: Fee,
990 #[doc = "Base cost for processing a delegate action.\n\n This is on top of the costs for the actions inside the delegate action."]
991 pub delegate_cost: Fee,
992 #[doc = "Base cost of deleting an account."]
993 pub delete_account_cost: Fee,
994 #[doc = "Base cost of deleting a key."]
995 pub delete_key_cost: Fee,
996 #[doc = "Base cost of deploying a contract."]
997 pub deploy_contract_cost: Fee,
998 #[doc = "Cost per byte of deploying a contract."]
999 pub deploy_contract_cost_per_byte: Fee,
1000 #[doc = "Base cost of calling a function."]
1001 pub function_call_cost: Fee,
1002 #[doc = "Cost per byte of method name and arguments of calling a function."]
1003 pub function_call_cost_per_byte: Fee,
1004 #[doc = "Base cost of staking."]
1005 pub stake_cost: Fee,
1006 #[doc = "Base cost of making a transfer."]
1007 pub transfer_cost: Fee,
1008 }
1009 impl ::std::convert::From<&ActionCreationConfigView> for ActionCreationConfigView {
1010 fn from(value: &ActionCreationConfigView) -> Self {
1011 value.clone()
1012 }
1013 }
1014 #[doc = "An error happened during Action execution"]
1015 #[doc = r""]
1016 #[doc = r" <details><summary>JSON schema</summary>"]
1017 #[doc = r""]
1018 #[doc = r" ```json"]
1019 #[doc = "{"]
1020 #[doc = " \"description\": \"An error happened during Action execution\","]
1021 #[doc = " \"type\": \"object\","]
1022 #[doc = " \"required\": ["]
1023 #[doc = " \"kind\""]
1024 #[doc = " ],"]
1025 #[doc = " \"properties\": {"]
1026 #[doc = " \"index\": {"]
1027 #[doc = " \"description\": \"Index of the failed action in the transaction.\\n Action index is not defined if ActionError.kind is `ActionErrorKind::LackBalanceForState`\","]
1028 #[doc = " \"type\": ["]
1029 #[doc = " \"integer\","]
1030 #[doc = " \"null\""]
1031 #[doc = " ],"]
1032 #[doc = " \"format\": \"uint64\","]
1033 #[doc = " \"minimum\": 0.0"]
1034 #[doc = " },"]
1035 #[doc = " \"kind\": {"]
1036 #[doc = " \"description\": \"The kind of ActionError happened\","]
1037 #[doc = " \"allOf\": ["]
1038 #[doc = " {"]
1039 #[doc = " \"$ref\": \"#/components/schemas/ActionErrorKind\""]
1040 #[doc = " }"]
1041 #[doc = " ]"]
1042 #[doc = " }"]
1043 #[doc = " }"]
1044 #[doc = "}"]
1045 #[doc = r" ```"]
1046 #[doc = r" </details>"]
1047 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
1048 pub struct ActionError {
1049 #[doc = "Index of the failed action in the transaction.\n Action index is not defined if ActionError.kind is `ActionErrorKind::LackBalanceForState`"]
1050 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
1051 pub index: ::std::option::Option<u64>,
1052 #[doc = "The kind of ActionError happened"]
1053 pub kind: ActionErrorKind,
1054 }
1055 impl ::std::convert::From<&ActionError> for ActionError {
1056 fn from(value: &ActionError) -> Self {
1057 value.clone()
1058 }
1059 }
1060 #[doc = "`ActionErrorKind`"]
1061 #[doc = r""]
1062 #[doc = r" <details><summary>JSON schema</summary>"]
1063 #[doc = r""]
1064 #[doc = r" ```json"]
1065 #[doc = "{"]
1066 #[doc = " \"oneOf\": ["]
1067 #[doc = " {"]
1068 #[doc = " \"description\": \"Happens when CreateAccount action tries to create an account with account_id which is already exists in the storage\","]
1069 #[doc = " \"type\": \"object\","]
1070 #[doc = " \"required\": ["]
1071 #[doc = " \"AccountAlreadyExists\""]
1072 #[doc = " ],"]
1073 #[doc = " \"properties\": {"]
1074 #[doc = " \"AccountAlreadyExists\": {"]
1075 #[doc = " \"type\": \"object\","]
1076 #[doc = " \"required\": ["]
1077 #[doc = " \"account_id\""]
1078 #[doc = " ],"]
1079 #[doc = " \"properties\": {"]
1080 #[doc = " \"account_id\": {"]
1081 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1082 #[doc = " }"]
1083 #[doc = " }"]
1084 #[doc = " }"]
1085 #[doc = " },"]
1086 #[doc = " \"additionalProperties\": false"]
1087 #[doc = " },"]
1088 #[doc = " {"]
1089 #[doc = " \"description\": \"Happens when TX receiver_id doesn't exist (but action is not Action::CreateAccount)\","]
1090 #[doc = " \"type\": \"object\","]
1091 #[doc = " \"required\": ["]
1092 #[doc = " \"AccountDoesNotExist\""]
1093 #[doc = " ],"]
1094 #[doc = " \"properties\": {"]
1095 #[doc = " \"AccountDoesNotExist\": {"]
1096 #[doc = " \"type\": \"object\","]
1097 #[doc = " \"required\": ["]
1098 #[doc = " \"account_id\""]
1099 #[doc = " ],"]
1100 #[doc = " \"properties\": {"]
1101 #[doc = " \"account_id\": {"]
1102 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1103 #[doc = " }"]
1104 #[doc = " }"]
1105 #[doc = " }"]
1106 #[doc = " },"]
1107 #[doc = " \"additionalProperties\": false"]
1108 #[doc = " },"]
1109 #[doc = " {"]
1110 #[doc = " \"description\": \"A top-level account ID can only be created by registrar.\","]
1111 #[doc = " \"type\": \"object\","]
1112 #[doc = " \"required\": ["]
1113 #[doc = " \"CreateAccountOnlyByRegistrar\""]
1114 #[doc = " ],"]
1115 #[doc = " \"properties\": {"]
1116 #[doc = " \"CreateAccountOnlyByRegistrar\": {"]
1117 #[doc = " \"type\": \"object\","]
1118 #[doc = " \"required\": ["]
1119 #[doc = " \"account_id\","]
1120 #[doc = " \"predecessor_id\","]
1121 #[doc = " \"registrar_account_id\""]
1122 #[doc = " ],"]
1123 #[doc = " \"properties\": {"]
1124 #[doc = " \"account_id\": {"]
1125 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1126 #[doc = " },"]
1127 #[doc = " \"predecessor_id\": {"]
1128 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1129 #[doc = " },"]
1130 #[doc = " \"registrar_account_id\": {"]
1131 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1132 #[doc = " }"]
1133 #[doc = " }"]
1134 #[doc = " }"]
1135 #[doc = " },"]
1136 #[doc = " \"additionalProperties\": false"]
1137 #[doc = " },"]
1138 #[doc = " {"]
1139 #[doc = " \"description\": \"A newly created account must be under a namespace of the creator account\","]
1140 #[doc = " \"type\": \"object\","]
1141 #[doc = " \"required\": ["]
1142 #[doc = " \"CreateAccountNotAllowed\""]
1143 #[doc = " ],"]
1144 #[doc = " \"properties\": {"]
1145 #[doc = " \"CreateAccountNotAllowed\": {"]
1146 #[doc = " \"type\": \"object\","]
1147 #[doc = " \"required\": ["]
1148 #[doc = " \"account_id\","]
1149 #[doc = " \"predecessor_id\""]
1150 #[doc = " ],"]
1151 #[doc = " \"properties\": {"]
1152 #[doc = " \"account_id\": {"]
1153 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1154 #[doc = " },"]
1155 #[doc = " \"predecessor_id\": {"]
1156 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1157 #[doc = " }"]
1158 #[doc = " }"]
1159 #[doc = " }"]
1160 #[doc = " },"]
1161 #[doc = " \"additionalProperties\": false"]
1162 #[doc = " },"]
1163 #[doc = " {"]
1164 #[doc = " \"description\": \"Administrative actions like `DeployContract`, `Stake`, `AddKey`, `DeleteKey`. can be proceed only if sender=receiver\\n or the first TX action is a `CreateAccount` action\","]
1165 #[doc = " \"type\": \"object\","]
1166 #[doc = " \"required\": ["]
1167 #[doc = " \"ActorNoPermission\""]
1168 #[doc = " ],"]
1169 #[doc = " \"properties\": {"]
1170 #[doc = " \"ActorNoPermission\": {"]
1171 #[doc = " \"type\": \"object\","]
1172 #[doc = " \"required\": ["]
1173 #[doc = " \"account_id\","]
1174 #[doc = " \"actor_id\""]
1175 #[doc = " ],"]
1176 #[doc = " \"properties\": {"]
1177 #[doc = " \"account_id\": {"]
1178 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1179 #[doc = " },"]
1180 #[doc = " \"actor_id\": {"]
1181 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1182 #[doc = " }"]
1183 #[doc = " }"]
1184 #[doc = " }"]
1185 #[doc = " },"]
1186 #[doc = " \"additionalProperties\": false"]
1187 #[doc = " },"]
1188 #[doc = " {"]
1189 #[doc = " \"description\": \"Account tries to remove an access key that doesn't exist\","]
1190 #[doc = " \"type\": \"object\","]
1191 #[doc = " \"required\": ["]
1192 #[doc = " \"DeleteKeyDoesNotExist\""]
1193 #[doc = " ],"]
1194 #[doc = " \"properties\": {"]
1195 #[doc = " \"DeleteKeyDoesNotExist\": {"]
1196 #[doc = " \"type\": \"object\","]
1197 #[doc = " \"required\": ["]
1198 #[doc = " \"account_id\","]
1199 #[doc = " \"public_key\""]
1200 #[doc = " ],"]
1201 #[doc = " \"properties\": {"]
1202 #[doc = " \"account_id\": {"]
1203 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1204 #[doc = " },"]
1205 #[doc = " \"public_key\": {"]
1206 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
1207 #[doc = " }"]
1208 #[doc = " }"]
1209 #[doc = " }"]
1210 #[doc = " },"]
1211 #[doc = " \"additionalProperties\": false"]
1212 #[doc = " },"]
1213 #[doc = " {"]
1214 #[doc = " \"description\": \"The public key is already used for an existing access key\","]
1215 #[doc = " \"type\": \"object\","]
1216 #[doc = " \"required\": ["]
1217 #[doc = " \"AddKeyAlreadyExists\""]
1218 #[doc = " ],"]
1219 #[doc = " \"properties\": {"]
1220 #[doc = " \"AddKeyAlreadyExists\": {"]
1221 #[doc = " \"type\": \"object\","]
1222 #[doc = " \"required\": ["]
1223 #[doc = " \"account_id\","]
1224 #[doc = " \"public_key\""]
1225 #[doc = " ],"]
1226 #[doc = " \"properties\": {"]
1227 #[doc = " \"account_id\": {"]
1228 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1229 #[doc = " },"]
1230 #[doc = " \"public_key\": {"]
1231 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
1232 #[doc = " }"]
1233 #[doc = " }"]
1234 #[doc = " }"]
1235 #[doc = " },"]
1236 #[doc = " \"additionalProperties\": false"]
1237 #[doc = " },"]
1238 #[doc = " {"]
1239 #[doc = " \"description\": \"Account is staking and can not be deleted\","]
1240 #[doc = " \"type\": \"object\","]
1241 #[doc = " \"required\": ["]
1242 #[doc = " \"DeleteAccountStaking\""]
1243 #[doc = " ],"]
1244 #[doc = " \"properties\": {"]
1245 #[doc = " \"DeleteAccountStaking\": {"]
1246 #[doc = " \"type\": \"object\","]
1247 #[doc = " \"required\": ["]
1248 #[doc = " \"account_id\""]
1249 #[doc = " ],"]
1250 #[doc = " \"properties\": {"]
1251 #[doc = " \"account_id\": {"]
1252 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1253 #[doc = " }"]
1254 #[doc = " }"]
1255 #[doc = " }"]
1256 #[doc = " },"]
1257 #[doc = " \"additionalProperties\": false"]
1258 #[doc = " },"]
1259 #[doc = " {"]
1260 #[doc = " \"description\": \"ActionReceipt can't be completed, because the remaining balance will not be enough to cover storage.\","]
1261 #[doc = " \"type\": \"object\","]
1262 #[doc = " \"required\": ["]
1263 #[doc = " \"LackBalanceForState\""]
1264 #[doc = " ],"]
1265 #[doc = " \"properties\": {"]
1266 #[doc = " \"LackBalanceForState\": {"]
1267 #[doc = " \"type\": \"object\","]
1268 #[doc = " \"required\": ["]
1269 #[doc = " \"account_id\","]
1270 #[doc = " \"amount\""]
1271 #[doc = " ],"]
1272 #[doc = " \"properties\": {"]
1273 #[doc = " \"account_id\": {"]
1274 #[doc = " \"description\": \"An account which needs balance\","]
1275 #[doc = " \"allOf\": ["]
1276 #[doc = " {"]
1277 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1278 #[doc = " }"]
1279 #[doc = " ]"]
1280 #[doc = " },"]
1281 #[doc = " \"amount\": {"]
1282 #[doc = " \"description\": \"Balance required to complete an action.\","]
1283 #[doc = " \"type\": \"string\""]
1284 #[doc = " }"]
1285 #[doc = " }"]
1286 #[doc = " }"]
1287 #[doc = " },"]
1288 #[doc = " \"additionalProperties\": false"]
1289 #[doc = " },"]
1290 #[doc = " {"]
1291 #[doc = " \"description\": \"Account is not yet staked, but tries to unstake\","]
1292 #[doc = " \"type\": \"object\","]
1293 #[doc = " \"required\": ["]
1294 #[doc = " \"TriesToUnstake\""]
1295 #[doc = " ],"]
1296 #[doc = " \"properties\": {"]
1297 #[doc = " \"TriesToUnstake\": {"]
1298 #[doc = " \"type\": \"object\","]
1299 #[doc = " \"required\": ["]
1300 #[doc = " \"account_id\""]
1301 #[doc = " ],"]
1302 #[doc = " \"properties\": {"]
1303 #[doc = " \"account_id\": {"]
1304 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1305 #[doc = " }"]
1306 #[doc = " }"]
1307 #[doc = " }"]
1308 #[doc = " },"]
1309 #[doc = " \"additionalProperties\": false"]
1310 #[doc = " },"]
1311 #[doc = " {"]
1312 #[doc = " \"description\": \"The account doesn't have enough balance to increase the stake.\","]
1313 #[doc = " \"type\": \"object\","]
1314 #[doc = " \"required\": ["]
1315 #[doc = " \"TriesToStake\""]
1316 #[doc = " ],"]
1317 #[doc = " \"properties\": {"]
1318 #[doc = " \"TriesToStake\": {"]
1319 #[doc = " \"type\": \"object\","]
1320 #[doc = " \"required\": ["]
1321 #[doc = " \"account_id\","]
1322 #[doc = " \"balance\","]
1323 #[doc = " \"locked\","]
1324 #[doc = " \"stake\""]
1325 #[doc = " ],"]
1326 #[doc = " \"properties\": {"]
1327 #[doc = " \"account_id\": {"]
1328 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1329 #[doc = " },"]
1330 #[doc = " \"balance\": {"]
1331 #[doc = " \"type\": \"string\""]
1332 #[doc = " },"]
1333 #[doc = " \"locked\": {"]
1334 #[doc = " \"type\": \"string\""]
1335 #[doc = " },"]
1336 #[doc = " \"stake\": {"]
1337 #[doc = " \"type\": \"string\""]
1338 #[doc = " }"]
1339 #[doc = " }"]
1340 #[doc = " }"]
1341 #[doc = " },"]
1342 #[doc = " \"additionalProperties\": false"]
1343 #[doc = " },"]
1344 #[doc = " {"]
1345 #[doc = " \"type\": \"object\","]
1346 #[doc = " \"required\": ["]
1347 #[doc = " \"InsufficientStake\""]
1348 #[doc = " ],"]
1349 #[doc = " \"properties\": {"]
1350 #[doc = " \"InsufficientStake\": {"]
1351 #[doc = " \"type\": \"object\","]
1352 #[doc = " \"required\": ["]
1353 #[doc = " \"account_id\","]
1354 #[doc = " \"minimum_stake\","]
1355 #[doc = " \"stake\""]
1356 #[doc = " ],"]
1357 #[doc = " \"properties\": {"]
1358 #[doc = " \"account_id\": {"]
1359 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1360 #[doc = " },"]
1361 #[doc = " \"minimum_stake\": {"]
1362 #[doc = " \"type\": \"string\""]
1363 #[doc = " },"]
1364 #[doc = " \"stake\": {"]
1365 #[doc = " \"type\": \"string\""]
1366 #[doc = " }"]
1367 #[doc = " }"]
1368 #[doc = " }"]
1369 #[doc = " },"]
1370 #[doc = " \"additionalProperties\": false"]
1371 #[doc = " },"]
1372 #[doc = " {"]
1373 #[doc = " \"description\": \"An error occurred during a `FunctionCall` Action, parameter is debug message.\","]
1374 #[doc = " \"type\": \"object\","]
1375 #[doc = " \"required\": ["]
1376 #[doc = " \"FunctionCallError\""]
1377 #[doc = " ],"]
1378 #[doc = " \"properties\": {"]
1379 #[doc = " \"FunctionCallError\": {"]
1380 #[doc = " \"$ref\": \"#/components/schemas/FunctionCallError\""]
1381 #[doc = " }"]
1382 #[doc = " },"]
1383 #[doc = " \"additionalProperties\": false"]
1384 #[doc = " },"]
1385 #[doc = " {"]
1386 #[doc = " \"description\": \"Error occurs when a new `ActionReceipt` created by the `FunctionCall` action fails\\n receipt validation.\","]
1387 #[doc = " \"type\": \"object\","]
1388 #[doc = " \"required\": ["]
1389 #[doc = " \"NewReceiptValidationError\""]
1390 #[doc = " ],"]
1391 #[doc = " \"properties\": {"]
1392 #[doc = " \"NewReceiptValidationError\": {"]
1393 #[doc = " \"$ref\": \"#/components/schemas/ReceiptValidationError\""]
1394 #[doc = " }"]
1395 #[doc = " },"]
1396 #[doc = " \"additionalProperties\": false"]
1397 #[doc = " },"]
1398 #[doc = " {"]
1399 #[doc = " \"description\": \"Error occurs when a `CreateAccount` action is called on a NEAR-implicit or ETH-implicit account.\\n See NEAR-implicit account creation NEP: <https://github.com/nearprotocol/NEPs/pull/71>.\\n Also, see ETH-implicit account creation NEP: <https://github.com/near/NEPs/issues/518>.\\n\\n TODO(#8598): This error is named very poorly. A better name would be\\n `OnlyNamedAccountCreationAllowed`.\","]
1400 #[doc = " \"type\": \"object\","]
1401 #[doc = " \"required\": ["]
1402 #[doc = " \"OnlyImplicitAccountCreationAllowed\""]
1403 #[doc = " ],"]
1404 #[doc = " \"properties\": {"]
1405 #[doc = " \"OnlyImplicitAccountCreationAllowed\": {"]
1406 #[doc = " \"type\": \"object\","]
1407 #[doc = " \"required\": ["]
1408 #[doc = " \"account_id\""]
1409 #[doc = " ],"]
1410 #[doc = " \"properties\": {"]
1411 #[doc = " \"account_id\": {"]
1412 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1413 #[doc = " }"]
1414 #[doc = " }"]
1415 #[doc = " }"]
1416 #[doc = " },"]
1417 #[doc = " \"additionalProperties\": false"]
1418 #[doc = " },"]
1419 #[doc = " {"]
1420 #[doc = " \"description\": \"Delete account whose state is large is temporarily banned.\","]
1421 #[doc = " \"type\": \"object\","]
1422 #[doc = " \"required\": ["]
1423 #[doc = " \"DeleteAccountWithLargeState\""]
1424 #[doc = " ],"]
1425 #[doc = " \"properties\": {"]
1426 #[doc = " \"DeleteAccountWithLargeState\": {"]
1427 #[doc = " \"type\": \"object\","]
1428 #[doc = " \"required\": ["]
1429 #[doc = " \"account_id\""]
1430 #[doc = " ],"]
1431 #[doc = " \"properties\": {"]
1432 #[doc = " \"account_id\": {"]
1433 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1434 #[doc = " }"]
1435 #[doc = " }"]
1436 #[doc = " }"]
1437 #[doc = " },"]
1438 #[doc = " \"additionalProperties\": false"]
1439 #[doc = " },"]
1440 #[doc = " {"]
1441 #[doc = " \"description\": \"Signature does not match the provided actions and given signer public key.\","]
1442 #[doc = " \"type\": \"string\","]
1443 #[doc = " \"enum\": ["]
1444 #[doc = " \"DelegateActionInvalidSignature\""]
1445 #[doc = " ]"]
1446 #[doc = " },"]
1447 #[doc = " {"]
1448 #[doc = " \"description\": \"Receiver of the transaction doesn't match Sender of the delegate action\","]
1449 #[doc = " \"type\": \"object\","]
1450 #[doc = " \"required\": ["]
1451 #[doc = " \"DelegateActionSenderDoesNotMatchTxReceiver\""]
1452 #[doc = " ],"]
1453 #[doc = " \"properties\": {"]
1454 #[doc = " \"DelegateActionSenderDoesNotMatchTxReceiver\": {"]
1455 #[doc = " \"type\": \"object\","]
1456 #[doc = " \"required\": ["]
1457 #[doc = " \"receiver_id\","]
1458 #[doc = " \"sender_id\""]
1459 #[doc = " ],"]
1460 #[doc = " \"properties\": {"]
1461 #[doc = " \"receiver_id\": {"]
1462 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1463 #[doc = " },"]
1464 #[doc = " \"sender_id\": {"]
1465 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1466 #[doc = " }"]
1467 #[doc = " }"]
1468 #[doc = " }"]
1469 #[doc = " },"]
1470 #[doc = " \"additionalProperties\": false"]
1471 #[doc = " },"]
1472 #[doc = " {"]
1473 #[doc = " \"description\": \"Delegate action has expired. `max_block_height` is less than actual block height.\","]
1474 #[doc = " \"type\": \"string\","]
1475 #[doc = " \"enum\": ["]
1476 #[doc = " \"DelegateActionExpired\""]
1477 #[doc = " ]"]
1478 #[doc = " },"]
1479 #[doc = " {"]
1480 #[doc = " \"description\": \"The given public key doesn't exist for Sender account\","]
1481 #[doc = " \"type\": \"object\","]
1482 #[doc = " \"required\": ["]
1483 #[doc = " \"DelegateActionAccessKeyError\""]
1484 #[doc = " ],"]
1485 #[doc = " \"properties\": {"]
1486 #[doc = " \"DelegateActionAccessKeyError\": {"]
1487 #[doc = " \"$ref\": \"#/components/schemas/InvalidAccessKeyError\""]
1488 #[doc = " }"]
1489 #[doc = " },"]
1490 #[doc = " \"additionalProperties\": false"]
1491 #[doc = " },"]
1492 #[doc = " {"]
1493 #[doc = " \"description\": \"DelegateAction nonce must be greater sender[public_key].nonce\","]
1494 #[doc = " \"type\": \"object\","]
1495 #[doc = " \"required\": ["]
1496 #[doc = " \"DelegateActionInvalidNonce\""]
1497 #[doc = " ],"]
1498 #[doc = " \"properties\": {"]
1499 #[doc = " \"DelegateActionInvalidNonce\": {"]
1500 #[doc = " \"type\": \"object\","]
1501 #[doc = " \"required\": ["]
1502 #[doc = " \"ak_nonce\","]
1503 #[doc = " \"delegate_nonce\""]
1504 #[doc = " ],"]
1505 #[doc = " \"properties\": {"]
1506 #[doc = " \"ak_nonce\": {"]
1507 #[doc = " \"type\": \"integer\","]
1508 #[doc = " \"format\": \"uint64\","]
1509 #[doc = " \"minimum\": 0.0"]
1510 #[doc = " },"]
1511 #[doc = " \"delegate_nonce\": {"]
1512 #[doc = " \"type\": \"integer\","]
1513 #[doc = " \"format\": \"uint64\","]
1514 #[doc = " \"minimum\": 0.0"]
1515 #[doc = " }"]
1516 #[doc = " }"]
1517 #[doc = " }"]
1518 #[doc = " },"]
1519 #[doc = " \"additionalProperties\": false"]
1520 #[doc = " },"]
1521 #[doc = " {"]
1522 #[doc = " \"description\": \"DelegateAction nonce is larger than the upper bound given by the block height\","]
1523 #[doc = " \"type\": \"object\","]
1524 #[doc = " \"required\": ["]
1525 #[doc = " \"DelegateActionNonceTooLarge\""]
1526 #[doc = " ],"]
1527 #[doc = " \"properties\": {"]
1528 #[doc = " \"DelegateActionNonceTooLarge\": {"]
1529 #[doc = " \"type\": \"object\","]
1530 #[doc = " \"required\": ["]
1531 #[doc = " \"delegate_nonce\","]
1532 #[doc = " \"upper_bound\""]
1533 #[doc = " ],"]
1534 #[doc = " \"properties\": {"]
1535 #[doc = " \"delegate_nonce\": {"]
1536 #[doc = " \"type\": \"integer\","]
1537 #[doc = " \"format\": \"uint64\","]
1538 #[doc = " \"minimum\": 0.0"]
1539 #[doc = " },"]
1540 #[doc = " \"upper_bound\": {"]
1541 #[doc = " \"type\": \"integer\","]
1542 #[doc = " \"format\": \"uint64\","]
1543 #[doc = " \"minimum\": 0.0"]
1544 #[doc = " }"]
1545 #[doc = " }"]
1546 #[doc = " }"]
1547 #[doc = " },"]
1548 #[doc = " \"additionalProperties\": false"]
1549 #[doc = " },"]
1550 #[doc = " {"]
1551 #[doc = " \"type\": \"object\","]
1552 #[doc = " \"required\": ["]
1553 #[doc = " \"GlobalContractDoesNotExist\""]
1554 #[doc = " ],"]
1555 #[doc = " \"properties\": {"]
1556 #[doc = " \"GlobalContractDoesNotExist\": {"]
1557 #[doc = " \"type\": \"object\","]
1558 #[doc = " \"required\": ["]
1559 #[doc = " \"identifier\""]
1560 #[doc = " ],"]
1561 #[doc = " \"properties\": {"]
1562 #[doc = " \"identifier\": {"]
1563 #[doc = " \"$ref\": \"#/components/schemas/GlobalContractIdentifier\""]
1564 #[doc = " }"]
1565 #[doc = " }"]
1566 #[doc = " }"]
1567 #[doc = " },"]
1568 #[doc = " \"additionalProperties\": false"]
1569 #[doc = " }"]
1570 #[doc = " ]"]
1571 #[doc = "}"]
1572 #[doc = r" ```"]
1573 #[doc = r" </details>"]
1574 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
1575 pub enum ActionErrorKind {
1576 #[doc = "Happens when CreateAccount action tries to create an account with account_id which is already exists in the storage"]
1577 AccountAlreadyExists { account_id: AccountId },
1578 #[doc = "Happens when TX receiver_id doesn't exist (but action is not Action::CreateAccount)"]
1579 AccountDoesNotExist { account_id: AccountId },
1580 #[doc = "A top-level account ID can only be created by registrar."]
1581 CreateAccountOnlyByRegistrar {
1582 account_id: AccountId,
1583 predecessor_id: AccountId,
1584 registrar_account_id: AccountId,
1585 },
1586 #[doc = "A newly created account must be under a namespace of the creator account"]
1587 CreateAccountNotAllowed {
1588 account_id: AccountId,
1589 predecessor_id: AccountId,
1590 },
1591 #[doc = "Administrative actions like `DeployContract`, `Stake`, `AddKey`, `DeleteKey`. can be proceed only if sender=receiver\n or the first TX action is a `CreateAccount` action"]
1592 ActorNoPermission {
1593 account_id: AccountId,
1594 actor_id: AccountId,
1595 },
1596 #[doc = "Account tries to remove an access key that doesn't exist"]
1597 DeleteKeyDoesNotExist {
1598 account_id: AccountId,
1599 public_key: PublicKey,
1600 },
1601 #[doc = "The public key is already used for an existing access key"]
1602 AddKeyAlreadyExists {
1603 account_id: AccountId,
1604 public_key: PublicKey,
1605 },
1606 #[doc = "Account is staking and can not be deleted"]
1607 DeleteAccountStaking { account_id: AccountId },
1608 #[doc = "ActionReceipt can't be completed, because the remaining balance will not be enough to cover storage."]
1609 LackBalanceForState {
1610 #[doc = "An account which needs balance"]
1611 account_id: AccountId,
1612 #[doc = "Balance required to complete an action."]
1613 amount: ::std::string::String,
1614 },
1615 #[doc = "Account is not yet staked, but tries to unstake"]
1616 TriesToUnstake { account_id: AccountId },
1617 #[doc = "The account doesn't have enough balance to increase the stake."]
1618 TriesToStake {
1619 account_id: AccountId,
1620 balance: ::std::string::String,
1621 locked: ::std::string::String,
1622 stake: ::std::string::String,
1623 },
1624 InsufficientStake {
1625 account_id: AccountId,
1626 minimum_stake: ::std::string::String,
1627 stake: ::std::string::String,
1628 },
1629 #[doc = "An error occurred during a `FunctionCall` Action, parameter is debug message."]
1630 FunctionCallError(FunctionCallError),
1631 #[doc = "Error occurs when a new `ActionReceipt` created by the `FunctionCall` action fails\n receipt validation."]
1632 NewReceiptValidationError(ReceiptValidationError),
1633 #[doc = "Error occurs when a `CreateAccount` action is called on a NEAR-implicit or ETH-implicit account.\n See NEAR-implicit account creation NEP: <https://github.com/nearprotocol/NEPs/pull/71>.\n Also, see ETH-implicit account creation NEP: <https://github.com/near/NEPs/issues/518>.\n\n TODO(#8598): This error is named very poorly. A better name would be\n `OnlyNamedAccountCreationAllowed`."]
1634 OnlyImplicitAccountCreationAllowed { account_id: AccountId },
1635 #[doc = "Delete account whose state is large is temporarily banned."]
1636 DeleteAccountWithLargeState { account_id: AccountId },
1637 #[doc = "Signature does not match the provided actions and given signer public key."]
1638 DelegateActionInvalidSignature,
1639 #[doc = "Receiver of the transaction doesn't match Sender of the delegate action"]
1640 DelegateActionSenderDoesNotMatchTxReceiver {
1641 receiver_id: AccountId,
1642 sender_id: AccountId,
1643 },
1644 #[doc = "Delegate action has expired. `max_block_height` is less than actual block height."]
1645 DelegateActionExpired,
1646 #[doc = "The given public key doesn't exist for Sender account"]
1647 DelegateActionAccessKeyError(InvalidAccessKeyError),
1648 #[doc = "DelegateAction nonce must be greater sender[public_key].nonce"]
1649 DelegateActionInvalidNonce { ak_nonce: u64, delegate_nonce: u64 },
1650 #[doc = "DelegateAction nonce is larger than the upper bound given by the block height"]
1651 DelegateActionNonceTooLarge {
1652 delegate_nonce: u64,
1653 upper_bound: u64,
1654 },
1655 GlobalContractDoesNotExist {
1656 identifier: GlobalContractIdentifier,
1657 },
1658 }
1659 impl ::std::convert::From<&Self> for ActionErrorKind {
1660 fn from(value: &ActionErrorKind) -> Self {
1661 value.clone()
1662 }
1663 }
1664 impl ::std::convert::From<FunctionCallError> for ActionErrorKind {
1665 fn from(value: FunctionCallError) -> Self {
1666 Self::FunctionCallError(value)
1667 }
1668 }
1669 impl ::std::convert::From<ReceiptValidationError> for ActionErrorKind {
1670 fn from(value: ReceiptValidationError) -> Self {
1671 Self::NewReceiptValidationError(value)
1672 }
1673 }
1674 impl ::std::convert::From<InvalidAccessKeyError> for ActionErrorKind {
1675 fn from(value: InvalidAccessKeyError) -> Self {
1676 Self::DelegateActionAccessKeyError(value)
1677 }
1678 }
1679 #[doc = "`ActionView`"]
1680 #[doc = r""]
1681 #[doc = r" <details><summary>JSON schema</summary>"]
1682 #[doc = r""]
1683 #[doc = r" ```json"]
1684 #[doc = "{"]
1685 #[doc = " \"oneOf\": ["]
1686 #[doc = " {"]
1687 #[doc = " \"type\": \"string\","]
1688 #[doc = " \"enum\": ["]
1689 #[doc = " \"CreateAccount\""]
1690 #[doc = " ]"]
1691 #[doc = " },"]
1692 #[doc = " {"]
1693 #[doc = " \"type\": \"object\","]
1694 #[doc = " \"required\": ["]
1695 #[doc = " \"DeployContract\""]
1696 #[doc = " ],"]
1697 #[doc = " \"properties\": {"]
1698 #[doc = " \"DeployContract\": {"]
1699 #[doc = " \"type\": \"object\","]
1700 #[doc = " \"required\": ["]
1701 #[doc = " \"code\""]
1702 #[doc = " ],"]
1703 #[doc = " \"properties\": {"]
1704 #[doc = " \"code\": {"]
1705 #[doc = " \"type\": \"string\","]
1706 #[doc = " \"format\": \"bytes\""]
1707 #[doc = " }"]
1708 #[doc = " }"]
1709 #[doc = " }"]
1710 #[doc = " },"]
1711 #[doc = " \"additionalProperties\": false"]
1712 #[doc = " },"]
1713 #[doc = " {"]
1714 #[doc = " \"type\": \"object\","]
1715 #[doc = " \"required\": ["]
1716 #[doc = " \"FunctionCall\""]
1717 #[doc = " ],"]
1718 #[doc = " \"properties\": {"]
1719 #[doc = " \"FunctionCall\": {"]
1720 #[doc = " \"type\": \"object\","]
1721 #[doc = " \"required\": ["]
1722 #[doc = " \"args\","]
1723 #[doc = " \"deposit\","]
1724 #[doc = " \"gas\","]
1725 #[doc = " \"method_name\""]
1726 #[doc = " ],"]
1727 #[doc = " \"properties\": {"]
1728 #[doc = " \"args\": {"]
1729 #[doc = " \"type\": \"string\","]
1730 #[doc = " \"format\": \"bytes\""]
1731 #[doc = " },"]
1732 #[doc = " \"deposit\": {"]
1733 #[doc = " \"type\": \"string\""]
1734 #[doc = " },"]
1735 #[doc = " \"gas\": {"]
1736 #[doc = " \"type\": \"integer\","]
1737 #[doc = " \"format\": \"uint64\","]
1738 #[doc = " \"minimum\": 0.0"]
1739 #[doc = " },"]
1740 #[doc = " \"method_name\": {"]
1741 #[doc = " \"type\": \"string\""]
1742 #[doc = " }"]
1743 #[doc = " }"]
1744 #[doc = " }"]
1745 #[doc = " },"]
1746 #[doc = " \"additionalProperties\": false"]
1747 #[doc = " },"]
1748 #[doc = " {"]
1749 #[doc = " \"type\": \"object\","]
1750 #[doc = " \"required\": ["]
1751 #[doc = " \"Transfer\""]
1752 #[doc = " ],"]
1753 #[doc = " \"properties\": {"]
1754 #[doc = " \"Transfer\": {"]
1755 #[doc = " \"type\": \"object\","]
1756 #[doc = " \"required\": ["]
1757 #[doc = " \"deposit\""]
1758 #[doc = " ],"]
1759 #[doc = " \"properties\": {"]
1760 #[doc = " \"deposit\": {"]
1761 #[doc = " \"type\": \"string\""]
1762 #[doc = " }"]
1763 #[doc = " }"]
1764 #[doc = " }"]
1765 #[doc = " },"]
1766 #[doc = " \"additionalProperties\": false"]
1767 #[doc = " },"]
1768 #[doc = " {"]
1769 #[doc = " \"type\": \"object\","]
1770 #[doc = " \"required\": ["]
1771 #[doc = " \"Stake\""]
1772 #[doc = " ],"]
1773 #[doc = " \"properties\": {"]
1774 #[doc = " \"Stake\": {"]
1775 #[doc = " \"type\": \"object\","]
1776 #[doc = " \"required\": ["]
1777 #[doc = " \"public_key\","]
1778 #[doc = " \"stake\""]
1779 #[doc = " ],"]
1780 #[doc = " \"properties\": {"]
1781 #[doc = " \"public_key\": {"]
1782 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
1783 #[doc = " },"]
1784 #[doc = " \"stake\": {"]
1785 #[doc = " \"type\": \"string\""]
1786 #[doc = " }"]
1787 #[doc = " }"]
1788 #[doc = " }"]
1789 #[doc = " },"]
1790 #[doc = " \"additionalProperties\": false"]
1791 #[doc = " },"]
1792 #[doc = " {"]
1793 #[doc = " \"type\": \"object\","]
1794 #[doc = " \"required\": ["]
1795 #[doc = " \"AddKey\""]
1796 #[doc = " ],"]
1797 #[doc = " \"properties\": {"]
1798 #[doc = " \"AddKey\": {"]
1799 #[doc = " \"type\": \"object\","]
1800 #[doc = " \"required\": ["]
1801 #[doc = " \"access_key\","]
1802 #[doc = " \"public_key\""]
1803 #[doc = " ],"]
1804 #[doc = " \"properties\": {"]
1805 #[doc = " \"access_key\": {"]
1806 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyView\""]
1807 #[doc = " },"]
1808 #[doc = " \"public_key\": {"]
1809 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
1810 #[doc = " }"]
1811 #[doc = " }"]
1812 #[doc = " }"]
1813 #[doc = " },"]
1814 #[doc = " \"additionalProperties\": false"]
1815 #[doc = " },"]
1816 #[doc = " {"]
1817 #[doc = " \"type\": \"object\","]
1818 #[doc = " \"required\": ["]
1819 #[doc = " \"DeleteKey\""]
1820 #[doc = " ],"]
1821 #[doc = " \"properties\": {"]
1822 #[doc = " \"DeleteKey\": {"]
1823 #[doc = " \"type\": \"object\","]
1824 #[doc = " \"required\": ["]
1825 #[doc = " \"public_key\""]
1826 #[doc = " ],"]
1827 #[doc = " \"properties\": {"]
1828 #[doc = " \"public_key\": {"]
1829 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
1830 #[doc = " }"]
1831 #[doc = " }"]
1832 #[doc = " }"]
1833 #[doc = " },"]
1834 #[doc = " \"additionalProperties\": false"]
1835 #[doc = " },"]
1836 #[doc = " {"]
1837 #[doc = " \"type\": \"object\","]
1838 #[doc = " \"required\": ["]
1839 #[doc = " \"DeleteAccount\""]
1840 #[doc = " ],"]
1841 #[doc = " \"properties\": {"]
1842 #[doc = " \"DeleteAccount\": {"]
1843 #[doc = " \"type\": \"object\","]
1844 #[doc = " \"required\": ["]
1845 #[doc = " \"beneficiary_id\""]
1846 #[doc = " ],"]
1847 #[doc = " \"properties\": {"]
1848 #[doc = " \"beneficiary_id\": {"]
1849 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1850 #[doc = " }"]
1851 #[doc = " }"]
1852 #[doc = " }"]
1853 #[doc = " },"]
1854 #[doc = " \"additionalProperties\": false"]
1855 #[doc = " },"]
1856 #[doc = " {"]
1857 #[doc = " \"type\": \"object\","]
1858 #[doc = " \"required\": ["]
1859 #[doc = " \"Delegate\""]
1860 #[doc = " ],"]
1861 #[doc = " \"properties\": {"]
1862 #[doc = " \"Delegate\": {"]
1863 #[doc = " \"type\": \"object\","]
1864 #[doc = " \"required\": ["]
1865 #[doc = " \"delegate_action\","]
1866 #[doc = " \"signature\""]
1867 #[doc = " ],"]
1868 #[doc = " \"properties\": {"]
1869 #[doc = " \"delegate_action\": {"]
1870 #[doc = " \"$ref\": \"#/components/schemas/DelegateAction\""]
1871 #[doc = " },"]
1872 #[doc = " \"signature\": {"]
1873 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
1874 #[doc = " }"]
1875 #[doc = " }"]
1876 #[doc = " }"]
1877 #[doc = " },"]
1878 #[doc = " \"additionalProperties\": false"]
1879 #[doc = " },"]
1880 #[doc = " {"]
1881 #[doc = " \"type\": \"object\","]
1882 #[doc = " \"required\": ["]
1883 #[doc = " \"DeployGlobalContract\""]
1884 #[doc = " ],"]
1885 #[doc = " \"properties\": {"]
1886 #[doc = " \"DeployGlobalContract\": {"]
1887 #[doc = " \"type\": \"object\","]
1888 #[doc = " \"required\": ["]
1889 #[doc = " \"code\""]
1890 #[doc = " ],"]
1891 #[doc = " \"properties\": {"]
1892 #[doc = " \"code\": {"]
1893 #[doc = " \"type\": \"string\","]
1894 #[doc = " \"format\": \"bytes\""]
1895 #[doc = " }"]
1896 #[doc = " }"]
1897 #[doc = " }"]
1898 #[doc = " },"]
1899 #[doc = " \"additionalProperties\": false"]
1900 #[doc = " },"]
1901 #[doc = " {"]
1902 #[doc = " \"type\": \"object\","]
1903 #[doc = " \"required\": ["]
1904 #[doc = " \"DeployGlobalContractByAccountId\""]
1905 #[doc = " ],"]
1906 #[doc = " \"properties\": {"]
1907 #[doc = " \"DeployGlobalContractByAccountId\": {"]
1908 #[doc = " \"type\": \"object\","]
1909 #[doc = " \"required\": ["]
1910 #[doc = " \"code\""]
1911 #[doc = " ],"]
1912 #[doc = " \"properties\": {"]
1913 #[doc = " \"code\": {"]
1914 #[doc = " \"type\": \"string\","]
1915 #[doc = " \"format\": \"bytes\""]
1916 #[doc = " }"]
1917 #[doc = " }"]
1918 #[doc = " }"]
1919 #[doc = " },"]
1920 #[doc = " \"additionalProperties\": false"]
1921 #[doc = " },"]
1922 #[doc = " {"]
1923 #[doc = " \"type\": \"object\","]
1924 #[doc = " \"required\": ["]
1925 #[doc = " \"UseGlobalContract\""]
1926 #[doc = " ],"]
1927 #[doc = " \"properties\": {"]
1928 #[doc = " \"UseGlobalContract\": {"]
1929 #[doc = " \"type\": \"object\","]
1930 #[doc = " \"required\": ["]
1931 #[doc = " \"code_hash\""]
1932 #[doc = " ],"]
1933 #[doc = " \"properties\": {"]
1934 #[doc = " \"code_hash\": {"]
1935 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
1936 #[doc = " }"]
1937 #[doc = " }"]
1938 #[doc = " }"]
1939 #[doc = " },"]
1940 #[doc = " \"additionalProperties\": false"]
1941 #[doc = " },"]
1942 #[doc = " {"]
1943 #[doc = " \"type\": \"object\","]
1944 #[doc = " \"required\": ["]
1945 #[doc = " \"UseGlobalContractByAccountId\""]
1946 #[doc = " ],"]
1947 #[doc = " \"properties\": {"]
1948 #[doc = " \"UseGlobalContractByAccountId\": {"]
1949 #[doc = " \"type\": \"object\","]
1950 #[doc = " \"required\": ["]
1951 #[doc = " \"account_id\""]
1952 #[doc = " ],"]
1953 #[doc = " \"properties\": {"]
1954 #[doc = " \"account_id\": {"]
1955 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
1956 #[doc = " }"]
1957 #[doc = " }"]
1958 #[doc = " }"]
1959 #[doc = " },"]
1960 #[doc = " \"additionalProperties\": false"]
1961 #[doc = " }"]
1962 #[doc = " ]"]
1963 #[doc = "}"]
1964 #[doc = r" ```"]
1965 #[doc = r" </details>"]
1966 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
1967 pub enum ActionView {
1968 CreateAccount,
1969 DeployContract {
1970 code: ::std::string::String,
1971 },
1972 FunctionCall {
1973 args: ::std::string::String,
1974 deposit: ::std::string::String,
1975 gas: u64,
1976 method_name: ::std::string::String,
1977 },
1978 Transfer {
1979 deposit: ::std::string::String,
1980 },
1981 Stake {
1982 public_key: PublicKey,
1983 stake: ::std::string::String,
1984 },
1985 AddKey {
1986 access_key: AccessKeyView,
1987 public_key: PublicKey,
1988 },
1989 DeleteKey {
1990 public_key: PublicKey,
1991 },
1992 DeleteAccount {
1993 beneficiary_id: AccountId,
1994 },
1995 Delegate {
1996 delegate_action: DelegateAction,
1997 signature: Signature,
1998 },
1999 DeployGlobalContract {
2000 code: ::std::string::String,
2001 },
2002 DeployGlobalContractByAccountId {
2003 code: ::std::string::String,
2004 },
2005 UseGlobalContract {
2006 code_hash: CryptoHash,
2007 },
2008 UseGlobalContractByAccountId {
2009 account_id: AccountId,
2010 },
2011 }
2012 impl ::std::convert::From<&Self> for ActionView {
2013 fn from(value: &ActionView) -> Self {
2014 value.clone()
2015 }
2016 }
2017 #[doc = "Describes the error for validating a list of actions."]
2018 #[doc = r""]
2019 #[doc = r" <details><summary>JSON schema</summary>"]
2020 #[doc = r""]
2021 #[doc = r" ```json"]
2022 #[doc = "{"]
2023 #[doc = " \"description\": \"Describes the error for validating a list of actions.\","]
2024 #[doc = " \"oneOf\": ["]
2025 #[doc = " {"]
2026 #[doc = " \"description\": \"The delete action must be a final action in transaction\","]
2027 #[doc = " \"type\": \"string\","]
2028 #[doc = " \"enum\": ["]
2029 #[doc = " \"DeleteActionMustBeFinal\""]
2030 #[doc = " ]"]
2031 #[doc = " },"]
2032 #[doc = " {"]
2033 #[doc = " \"description\": \"The total prepaid gas (for all given actions) exceeded the limit.\","]
2034 #[doc = " \"type\": \"object\","]
2035 #[doc = " \"required\": ["]
2036 #[doc = " \"TotalPrepaidGasExceeded\""]
2037 #[doc = " ],"]
2038 #[doc = " \"properties\": {"]
2039 #[doc = " \"TotalPrepaidGasExceeded\": {"]
2040 #[doc = " \"type\": \"object\","]
2041 #[doc = " \"required\": ["]
2042 #[doc = " \"limit\","]
2043 #[doc = " \"total_prepaid_gas\""]
2044 #[doc = " ],"]
2045 #[doc = " \"properties\": {"]
2046 #[doc = " \"limit\": {"]
2047 #[doc = " \"type\": \"integer\","]
2048 #[doc = " \"format\": \"uint64\","]
2049 #[doc = " \"minimum\": 0.0"]
2050 #[doc = " },"]
2051 #[doc = " \"total_prepaid_gas\": {"]
2052 #[doc = " \"type\": \"integer\","]
2053 #[doc = " \"format\": \"uint64\","]
2054 #[doc = " \"minimum\": 0.0"]
2055 #[doc = " }"]
2056 #[doc = " }"]
2057 #[doc = " }"]
2058 #[doc = " },"]
2059 #[doc = " \"additionalProperties\": false"]
2060 #[doc = " },"]
2061 #[doc = " {"]
2062 #[doc = " \"description\": \"The number of actions exceeded the given limit.\","]
2063 #[doc = " \"type\": \"object\","]
2064 #[doc = " \"required\": ["]
2065 #[doc = " \"TotalNumberOfActionsExceeded\""]
2066 #[doc = " ],"]
2067 #[doc = " \"properties\": {"]
2068 #[doc = " \"TotalNumberOfActionsExceeded\": {"]
2069 #[doc = " \"type\": \"object\","]
2070 #[doc = " \"required\": ["]
2071 #[doc = " \"limit\","]
2072 #[doc = " \"total_number_of_actions\""]
2073 #[doc = " ],"]
2074 #[doc = " \"properties\": {"]
2075 #[doc = " \"limit\": {"]
2076 #[doc = " \"type\": \"integer\","]
2077 #[doc = " \"format\": \"uint64\","]
2078 #[doc = " \"minimum\": 0.0"]
2079 #[doc = " },"]
2080 #[doc = " \"total_number_of_actions\": {"]
2081 #[doc = " \"type\": \"integer\","]
2082 #[doc = " \"format\": \"uint64\","]
2083 #[doc = " \"minimum\": 0.0"]
2084 #[doc = " }"]
2085 #[doc = " }"]
2086 #[doc = " }"]
2087 #[doc = " },"]
2088 #[doc = " \"additionalProperties\": false"]
2089 #[doc = " },"]
2090 #[doc = " {"]
2091 #[doc = " \"description\": \"The total number of bytes of the method names exceeded the limit in a Add Key action.\","]
2092 #[doc = " \"type\": \"object\","]
2093 #[doc = " \"required\": ["]
2094 #[doc = " \"AddKeyMethodNamesNumberOfBytesExceeded\""]
2095 #[doc = " ],"]
2096 #[doc = " \"properties\": {"]
2097 #[doc = " \"AddKeyMethodNamesNumberOfBytesExceeded\": {"]
2098 #[doc = " \"type\": \"object\","]
2099 #[doc = " \"required\": ["]
2100 #[doc = " \"limit\","]
2101 #[doc = " \"total_number_of_bytes\""]
2102 #[doc = " ],"]
2103 #[doc = " \"properties\": {"]
2104 #[doc = " \"limit\": {"]
2105 #[doc = " \"type\": \"integer\","]
2106 #[doc = " \"format\": \"uint64\","]
2107 #[doc = " \"minimum\": 0.0"]
2108 #[doc = " },"]
2109 #[doc = " \"total_number_of_bytes\": {"]
2110 #[doc = " \"type\": \"integer\","]
2111 #[doc = " \"format\": \"uint64\","]
2112 #[doc = " \"minimum\": 0.0"]
2113 #[doc = " }"]
2114 #[doc = " }"]
2115 #[doc = " }"]
2116 #[doc = " },"]
2117 #[doc = " \"additionalProperties\": false"]
2118 #[doc = " },"]
2119 #[doc = " {"]
2120 #[doc = " \"description\": \"The length of some method name exceeded the limit in a Add Key action.\","]
2121 #[doc = " \"type\": \"object\","]
2122 #[doc = " \"required\": ["]
2123 #[doc = " \"AddKeyMethodNameLengthExceeded\""]
2124 #[doc = " ],"]
2125 #[doc = " \"properties\": {"]
2126 #[doc = " \"AddKeyMethodNameLengthExceeded\": {"]
2127 #[doc = " \"type\": \"object\","]
2128 #[doc = " \"required\": ["]
2129 #[doc = " \"length\","]
2130 #[doc = " \"limit\""]
2131 #[doc = " ],"]
2132 #[doc = " \"properties\": {"]
2133 #[doc = " \"length\": {"]
2134 #[doc = " \"type\": \"integer\","]
2135 #[doc = " \"format\": \"uint64\","]
2136 #[doc = " \"minimum\": 0.0"]
2137 #[doc = " },"]
2138 #[doc = " \"limit\": {"]
2139 #[doc = " \"type\": \"integer\","]
2140 #[doc = " \"format\": \"uint64\","]
2141 #[doc = " \"minimum\": 0.0"]
2142 #[doc = " }"]
2143 #[doc = " }"]
2144 #[doc = " }"]
2145 #[doc = " },"]
2146 #[doc = " \"additionalProperties\": false"]
2147 #[doc = " },"]
2148 #[doc = " {"]
2149 #[doc = " \"description\": \"Integer overflow during a compute.\","]
2150 #[doc = " \"type\": \"string\","]
2151 #[doc = " \"enum\": ["]
2152 #[doc = " \"IntegerOverflow\""]
2153 #[doc = " ]"]
2154 #[doc = " },"]
2155 #[doc = " {"]
2156 #[doc = " \"description\": \"Invalid account ID.\","]
2157 #[doc = " \"type\": \"object\","]
2158 #[doc = " \"required\": ["]
2159 #[doc = " \"InvalidAccountId\""]
2160 #[doc = " ],"]
2161 #[doc = " \"properties\": {"]
2162 #[doc = " \"InvalidAccountId\": {"]
2163 #[doc = " \"type\": \"object\","]
2164 #[doc = " \"required\": ["]
2165 #[doc = " \"account_id\""]
2166 #[doc = " ],"]
2167 #[doc = " \"properties\": {"]
2168 #[doc = " \"account_id\": {"]
2169 #[doc = " \"type\": \"string\""]
2170 #[doc = " }"]
2171 #[doc = " }"]
2172 #[doc = " }"]
2173 #[doc = " },"]
2174 #[doc = " \"additionalProperties\": false"]
2175 #[doc = " },"]
2176 #[doc = " {"]
2177 #[doc = " \"description\": \"The size of the contract code exceeded the limit in a DeployContract action.\","]
2178 #[doc = " \"type\": \"object\","]
2179 #[doc = " \"required\": ["]
2180 #[doc = " \"ContractSizeExceeded\""]
2181 #[doc = " ],"]
2182 #[doc = " \"properties\": {"]
2183 #[doc = " \"ContractSizeExceeded\": {"]
2184 #[doc = " \"type\": \"object\","]
2185 #[doc = " \"required\": ["]
2186 #[doc = " \"limit\","]
2187 #[doc = " \"size\""]
2188 #[doc = " ],"]
2189 #[doc = " \"properties\": {"]
2190 #[doc = " \"limit\": {"]
2191 #[doc = " \"type\": \"integer\","]
2192 #[doc = " \"format\": \"uint64\","]
2193 #[doc = " \"minimum\": 0.0"]
2194 #[doc = " },"]
2195 #[doc = " \"size\": {"]
2196 #[doc = " \"type\": \"integer\","]
2197 #[doc = " \"format\": \"uint64\","]
2198 #[doc = " \"minimum\": 0.0"]
2199 #[doc = " }"]
2200 #[doc = " }"]
2201 #[doc = " }"]
2202 #[doc = " },"]
2203 #[doc = " \"additionalProperties\": false"]
2204 #[doc = " },"]
2205 #[doc = " {"]
2206 #[doc = " \"description\": \"The length of the method name exceeded the limit in a Function Call action.\","]
2207 #[doc = " \"type\": \"object\","]
2208 #[doc = " \"required\": ["]
2209 #[doc = " \"FunctionCallMethodNameLengthExceeded\""]
2210 #[doc = " ],"]
2211 #[doc = " \"properties\": {"]
2212 #[doc = " \"FunctionCallMethodNameLengthExceeded\": {"]
2213 #[doc = " \"type\": \"object\","]
2214 #[doc = " \"required\": ["]
2215 #[doc = " \"length\","]
2216 #[doc = " \"limit\""]
2217 #[doc = " ],"]
2218 #[doc = " \"properties\": {"]
2219 #[doc = " \"length\": {"]
2220 #[doc = " \"type\": \"integer\","]
2221 #[doc = " \"format\": \"uint64\","]
2222 #[doc = " \"minimum\": 0.0"]
2223 #[doc = " },"]
2224 #[doc = " \"limit\": {"]
2225 #[doc = " \"type\": \"integer\","]
2226 #[doc = " \"format\": \"uint64\","]
2227 #[doc = " \"minimum\": 0.0"]
2228 #[doc = " }"]
2229 #[doc = " }"]
2230 #[doc = " }"]
2231 #[doc = " },"]
2232 #[doc = " \"additionalProperties\": false"]
2233 #[doc = " },"]
2234 #[doc = " {"]
2235 #[doc = " \"description\": \"The length of the arguments exceeded the limit in a Function Call action.\","]
2236 #[doc = " \"type\": \"object\","]
2237 #[doc = " \"required\": ["]
2238 #[doc = " \"FunctionCallArgumentsLengthExceeded\""]
2239 #[doc = " ],"]
2240 #[doc = " \"properties\": {"]
2241 #[doc = " \"FunctionCallArgumentsLengthExceeded\": {"]
2242 #[doc = " \"type\": \"object\","]
2243 #[doc = " \"required\": ["]
2244 #[doc = " \"length\","]
2245 #[doc = " \"limit\""]
2246 #[doc = " ],"]
2247 #[doc = " \"properties\": {"]
2248 #[doc = " \"length\": {"]
2249 #[doc = " \"type\": \"integer\","]
2250 #[doc = " \"format\": \"uint64\","]
2251 #[doc = " \"minimum\": 0.0"]
2252 #[doc = " },"]
2253 #[doc = " \"limit\": {"]
2254 #[doc = " \"type\": \"integer\","]
2255 #[doc = " \"format\": \"uint64\","]
2256 #[doc = " \"minimum\": 0.0"]
2257 #[doc = " }"]
2258 #[doc = " }"]
2259 #[doc = " }"]
2260 #[doc = " },"]
2261 #[doc = " \"additionalProperties\": false"]
2262 #[doc = " },"]
2263 #[doc = " {"]
2264 #[doc = " \"description\": \"An attempt to stake with a public key that is not convertible to ristretto.\","]
2265 #[doc = " \"type\": \"object\","]
2266 #[doc = " \"required\": ["]
2267 #[doc = " \"UnsuitableStakingKey\""]
2268 #[doc = " ],"]
2269 #[doc = " \"properties\": {"]
2270 #[doc = " \"UnsuitableStakingKey\": {"]
2271 #[doc = " \"type\": \"object\","]
2272 #[doc = " \"required\": ["]
2273 #[doc = " \"public_key\""]
2274 #[doc = " ],"]
2275 #[doc = " \"properties\": {"]
2276 #[doc = " \"public_key\": {"]
2277 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
2278 #[doc = " }"]
2279 #[doc = " }"]
2280 #[doc = " }"]
2281 #[doc = " },"]
2282 #[doc = " \"additionalProperties\": false"]
2283 #[doc = " },"]
2284 #[doc = " {"]
2285 #[doc = " \"description\": \"The attached amount of gas in a FunctionCall action has to be a positive number.\","]
2286 #[doc = " \"type\": \"string\","]
2287 #[doc = " \"enum\": ["]
2288 #[doc = " \"FunctionCallZeroAttachedGas\""]
2289 #[doc = " ]"]
2290 #[doc = " },"]
2291 #[doc = " {"]
2292 #[doc = " \"description\": \"There should be the only one DelegateAction\","]
2293 #[doc = " \"type\": \"string\","]
2294 #[doc = " \"enum\": ["]
2295 #[doc = " \"DelegateActionMustBeOnlyOne\""]
2296 #[doc = " ]"]
2297 #[doc = " },"]
2298 #[doc = " {"]
2299 #[doc = " \"description\": \"The transaction includes a feature that the current protocol version\\n does not support.\\n\\n Note: we stringify the protocol feature name instead of using\\n `ProtocolFeature` here because we don't want to leak the internals of\\n that type into observable borsh serialization.\","]
2300 #[doc = " \"type\": \"object\","]
2301 #[doc = " \"required\": ["]
2302 #[doc = " \"UnsupportedProtocolFeature\""]
2303 #[doc = " ],"]
2304 #[doc = " \"properties\": {"]
2305 #[doc = " \"UnsupportedProtocolFeature\": {"]
2306 #[doc = " \"type\": \"object\","]
2307 #[doc = " \"required\": ["]
2308 #[doc = " \"protocol_feature\","]
2309 #[doc = " \"version\""]
2310 #[doc = " ],"]
2311 #[doc = " \"properties\": {"]
2312 #[doc = " \"protocol_feature\": {"]
2313 #[doc = " \"type\": \"string\""]
2314 #[doc = " },"]
2315 #[doc = " \"version\": {"]
2316 #[doc = " \"type\": \"integer\","]
2317 #[doc = " \"format\": \"uint32\","]
2318 #[doc = " \"minimum\": 0.0"]
2319 #[doc = " }"]
2320 #[doc = " }"]
2321 #[doc = " }"]
2322 #[doc = " },"]
2323 #[doc = " \"additionalProperties\": false"]
2324 #[doc = " }"]
2325 #[doc = " ]"]
2326 #[doc = "}"]
2327 #[doc = r" ```"]
2328 #[doc = r" </details>"]
2329 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2330 pub enum ActionsValidationError {
2331 #[doc = "The delete action must be a final action in transaction"]
2332 DeleteActionMustBeFinal,
2333 #[doc = "The total prepaid gas (for all given actions) exceeded the limit."]
2334 TotalPrepaidGasExceeded { limit: u64, total_prepaid_gas: u64 },
2335 #[doc = "The number of actions exceeded the given limit."]
2336 TotalNumberOfActionsExceeded {
2337 limit: u64,
2338 total_number_of_actions: u64,
2339 },
2340 #[doc = "The total number of bytes of the method names exceeded the limit in a Add Key action."]
2341 AddKeyMethodNamesNumberOfBytesExceeded {
2342 limit: u64,
2343 total_number_of_bytes: u64,
2344 },
2345 #[doc = "The length of some method name exceeded the limit in a Add Key action."]
2346 AddKeyMethodNameLengthExceeded { length: u64, limit: u64 },
2347 #[doc = "Integer overflow during a compute."]
2348 IntegerOverflow,
2349 #[doc = "Invalid account ID."]
2350 InvalidAccountId { account_id: ::std::string::String },
2351 #[doc = "The size of the contract code exceeded the limit in a DeployContract action."]
2352 ContractSizeExceeded { limit: u64, size: u64 },
2353 #[doc = "The length of the method name exceeded the limit in a Function Call action."]
2354 FunctionCallMethodNameLengthExceeded { length: u64, limit: u64 },
2355 #[doc = "The length of the arguments exceeded the limit in a Function Call action."]
2356 FunctionCallArgumentsLengthExceeded { length: u64, limit: u64 },
2357 #[doc = "An attempt to stake with a public key that is not convertible to ristretto."]
2358 UnsuitableStakingKey { public_key: PublicKey },
2359 #[doc = "The attached amount of gas in a FunctionCall action has to be a positive number."]
2360 FunctionCallZeroAttachedGas,
2361 #[doc = "There should be the only one DelegateAction"]
2362 DelegateActionMustBeOnlyOne,
2363 #[doc = "The transaction includes a feature that the current protocol version\n does not support.\n\n Note: we stringify the protocol feature name instead of using\n `ProtocolFeature` here because we don't want to leak the internals of\n that type into observable borsh serialization."]
2364 UnsupportedProtocolFeature {
2365 protocol_feature: ::std::string::String,
2366 version: u32,
2367 },
2368 }
2369 impl ::std::convert::From<&Self> for ActionsValidationError {
2370 fn from(value: &ActionsValidationError) -> Self {
2371 value.clone()
2372 }
2373 }
2374 #[doc = "`AddKeyAction`"]
2375 #[doc = r""]
2376 #[doc = r" <details><summary>JSON schema</summary>"]
2377 #[doc = r""]
2378 #[doc = r" ```json"]
2379 #[doc = "{"]
2380 #[doc = " \"type\": \"object\","]
2381 #[doc = " \"required\": ["]
2382 #[doc = " \"access_key\","]
2383 #[doc = " \"public_key\""]
2384 #[doc = " ],"]
2385 #[doc = " \"properties\": {"]
2386 #[doc = " \"access_key\": {"]
2387 #[doc = " \"description\": \"An access key with the permission\","]
2388 #[doc = " \"allOf\": ["]
2389 #[doc = " {"]
2390 #[doc = " \"$ref\": \"#/components/schemas/AccessKey\""]
2391 #[doc = " }"]
2392 #[doc = " ]"]
2393 #[doc = " },"]
2394 #[doc = " \"public_key\": {"]
2395 #[doc = " \"description\": \"A public key which will be associated with an access_key\","]
2396 #[doc = " \"allOf\": ["]
2397 #[doc = " {"]
2398 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
2399 #[doc = " }"]
2400 #[doc = " ]"]
2401 #[doc = " }"]
2402 #[doc = " }"]
2403 #[doc = "}"]
2404 #[doc = r" ```"]
2405 #[doc = r" </details>"]
2406 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2407 pub struct AddKeyAction {
2408 #[doc = "An access key with the permission"]
2409 pub access_key: AccessKey,
2410 #[doc = "A public key which will be associated with an access_key"]
2411 pub public_key: PublicKey,
2412 }
2413 impl ::std::convert::From<&AddKeyAction> for AddKeyAction {
2414 fn from(value: &AddKeyAction) -> Self {
2415 value.clone()
2416 }
2417 }
2418 #[doc = "`BandwidthRequest` describes the size of receipts that a shard would like to send to another shard.\n When a shard wants to send a lot of receipts to another shard, it needs to create a request and wait\n for a bandwidth grant from the bandwidth scheduler."]
2419 #[doc = r""]
2420 #[doc = r" <details><summary>JSON schema</summary>"]
2421 #[doc = r""]
2422 #[doc = r" ```json"]
2423 #[doc = "{"]
2424 #[doc = " \"description\": \"`BandwidthRequest` describes the size of receipts that a shard would like to send to another shard.\\n When a shard wants to send a lot of receipts to another shard, it needs to create a request and wait\\n for a bandwidth grant from the bandwidth scheduler.\","]
2425 #[doc = " \"type\": \"object\","]
2426 #[doc = " \"required\": ["]
2427 #[doc = " \"requested_values_bitmap\","]
2428 #[doc = " \"to_shard\""]
2429 #[doc = " ],"]
2430 #[doc = " \"properties\": {"]
2431 #[doc = " \"requested_values_bitmap\": {"]
2432 #[doc = " \"description\": \"Bitmap which describes what values of bandwidth are requested.\","]
2433 #[doc = " \"allOf\": ["]
2434 #[doc = " {"]
2435 #[doc = " \"$ref\": \"#/components/schemas/BandwidthRequestBitmap\""]
2436 #[doc = " }"]
2437 #[doc = " ]"]
2438 #[doc = " },"]
2439 #[doc = " \"to_shard\": {"]
2440 #[doc = " \"description\": \"Requesting bandwidth to this shard.\","]
2441 #[doc = " \"type\": \"integer\","]
2442 #[doc = " \"format\": \"uint16\","]
2443 #[doc = " \"minimum\": 0.0"]
2444 #[doc = " }"]
2445 #[doc = " }"]
2446 #[doc = "}"]
2447 #[doc = r" ```"]
2448 #[doc = r" </details>"]
2449 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2450 pub struct BandwidthRequest {
2451 #[doc = "Bitmap which describes what values of bandwidth are requested."]
2452 pub requested_values_bitmap: BandwidthRequestBitmap,
2453 #[doc = "Requesting bandwidth to this shard."]
2454 pub to_shard: u16,
2455 }
2456 impl ::std::convert::From<&BandwidthRequest> for BandwidthRequest {
2457 fn from(value: &BandwidthRequest) -> Self {
2458 value.clone()
2459 }
2460 }
2461 #[doc = "Bitmap which describes which values from the predefined list are being requested.\n The nth bit is set to 1 when the nth value from the list is being requested."]
2462 #[doc = r""]
2463 #[doc = r" <details><summary>JSON schema</summary>"]
2464 #[doc = r""]
2465 #[doc = r" ```json"]
2466 #[doc = "{"]
2467 #[doc = " \"description\": \"Bitmap which describes which values from the predefined list are being requested.\\n The nth bit is set to 1 when the nth value from the list is being requested.\","]
2468 #[doc = " \"type\": \"object\","]
2469 #[doc = " \"required\": ["]
2470 #[doc = " \"data\""]
2471 #[doc = " ],"]
2472 #[doc = " \"properties\": {"]
2473 #[doc = " \"data\": {"]
2474 #[doc = " \"type\": \"array\","]
2475 #[doc = " \"items\": {"]
2476 #[doc = " \"type\": \"integer\","]
2477 #[doc = " \"format\": \"uint8\","]
2478 #[doc = " \"minimum\": 0.0"]
2479 #[doc = " },"]
2480 #[doc = " \"maxItems\": 5,"]
2481 #[doc = " \"minItems\": 5"]
2482 #[doc = " }"]
2483 #[doc = " }"]
2484 #[doc = "}"]
2485 #[doc = r" ```"]
2486 #[doc = r" </details>"]
2487 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2488 pub struct BandwidthRequestBitmap {
2489 pub data: [u8; 5usize],
2490 }
2491 impl ::std::convert::From<&BandwidthRequestBitmap> for BandwidthRequestBitmap {
2492 fn from(value: &BandwidthRequestBitmap) -> Self {
2493 value.clone()
2494 }
2495 }
2496 #[doc = "A list of shard's bandwidth requests.\n Describes how much the shard would like to send to other shards."]
2497 #[doc = r""]
2498 #[doc = r" <details><summary>JSON schema</summary>"]
2499 #[doc = r""]
2500 #[doc = r" ```json"]
2501 #[doc = "{"]
2502 #[doc = " \"description\": \"A list of shard's bandwidth requests.\\n Describes how much the shard would like to send to other shards.\","]
2503 #[doc = " \"oneOf\": ["]
2504 #[doc = " {"]
2505 #[doc = " \"type\": \"object\","]
2506 #[doc = " \"required\": ["]
2507 #[doc = " \"V1\""]
2508 #[doc = " ],"]
2509 #[doc = " \"properties\": {"]
2510 #[doc = " \"V1\": {"]
2511 #[doc = " \"$ref\": \"#/components/schemas/BandwidthRequestsV1\""]
2512 #[doc = " }"]
2513 #[doc = " },"]
2514 #[doc = " \"additionalProperties\": false"]
2515 #[doc = " }"]
2516 #[doc = " ]"]
2517 #[doc = "}"]
2518 #[doc = r" ```"]
2519 #[doc = r" </details>"]
2520 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2521 pub enum BandwidthRequests {
2522 V1(BandwidthRequestsV1),
2523 }
2524 impl ::std::convert::From<&Self> for BandwidthRequests {
2525 fn from(value: &BandwidthRequests) -> Self {
2526 value.clone()
2527 }
2528 }
2529 impl ::std::convert::From<BandwidthRequestsV1> for BandwidthRequests {
2530 fn from(value: BandwidthRequestsV1) -> Self {
2531 Self::V1(value)
2532 }
2533 }
2534 #[doc = "`BandwidthRequestsV1`"]
2535 #[doc = r""]
2536 #[doc = r" <details><summary>JSON schema</summary>"]
2537 #[doc = r""]
2538 #[doc = r" ```json"]
2539 #[doc = "{"]
2540 #[doc = " \"type\": \"object\","]
2541 #[doc = " \"required\": ["]
2542 #[doc = " \"requests\""]
2543 #[doc = " ],"]
2544 #[doc = " \"properties\": {"]
2545 #[doc = " \"requests\": {"]
2546 #[doc = " \"type\": \"array\","]
2547 #[doc = " \"items\": {"]
2548 #[doc = " \"$ref\": \"#/components/schemas/BandwidthRequest\""]
2549 #[doc = " }"]
2550 #[doc = " }"]
2551 #[doc = " }"]
2552 #[doc = "}"]
2553 #[doc = r" ```"]
2554 #[doc = r" </details>"]
2555 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2556 pub struct BandwidthRequestsV1 {
2557 pub requests: ::std::vec::Vec<BandwidthRequest>,
2558 }
2559 impl ::std::convert::From<&BandwidthRequestsV1> for BandwidthRequestsV1 {
2560 fn from(value: &BandwidthRequestsV1) -> Self {
2561 value.clone()
2562 }
2563 }
2564 #[doc = "`BlockHeaderInnerLiteView`"]
2565 #[doc = r""]
2566 #[doc = r" <details><summary>JSON schema</summary>"]
2567 #[doc = r""]
2568 #[doc = r" ```json"]
2569 #[doc = "{"]
2570 #[doc = " \"type\": \"object\","]
2571 #[doc = " \"required\": ["]
2572 #[doc = " \"block_merkle_root\","]
2573 #[doc = " \"epoch_id\","]
2574 #[doc = " \"height\","]
2575 #[doc = " \"next_bp_hash\","]
2576 #[doc = " \"next_epoch_id\","]
2577 #[doc = " \"outcome_root\","]
2578 #[doc = " \"prev_state_root\","]
2579 #[doc = " \"timestamp\","]
2580 #[doc = " \"timestamp_nanosec\""]
2581 #[doc = " ],"]
2582 #[doc = " \"properties\": {"]
2583 #[doc = " \"block_merkle_root\": {"]
2584 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2585 #[doc = " },"]
2586 #[doc = " \"epoch_id\": {"]
2587 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2588 #[doc = " },"]
2589 #[doc = " \"height\": {"]
2590 #[doc = " \"type\": \"integer\","]
2591 #[doc = " \"format\": \"uint64\","]
2592 #[doc = " \"minimum\": 0.0"]
2593 #[doc = " },"]
2594 #[doc = " \"next_bp_hash\": {"]
2595 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2596 #[doc = " },"]
2597 #[doc = " \"next_epoch_id\": {"]
2598 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2599 #[doc = " },"]
2600 #[doc = " \"outcome_root\": {"]
2601 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2602 #[doc = " },"]
2603 #[doc = " \"prev_state_root\": {"]
2604 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2605 #[doc = " },"]
2606 #[doc = " \"timestamp\": {"]
2607 #[doc = " \"description\": \"Legacy json number. Should not be used.\","]
2608 #[doc = " \"type\": \"integer\","]
2609 #[doc = " \"format\": \"uint64\","]
2610 #[doc = " \"minimum\": 0.0"]
2611 #[doc = " },"]
2612 #[doc = " \"timestamp_nanosec\": {"]
2613 #[doc = " \"type\": \"string\""]
2614 #[doc = " }"]
2615 #[doc = " }"]
2616 #[doc = "}"]
2617 #[doc = r" ```"]
2618 #[doc = r" </details>"]
2619 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2620 pub struct BlockHeaderInnerLiteView {
2621 pub block_merkle_root: CryptoHash,
2622 pub epoch_id: CryptoHash,
2623 pub height: u64,
2624 pub next_bp_hash: CryptoHash,
2625 pub next_epoch_id: CryptoHash,
2626 pub outcome_root: CryptoHash,
2627 pub prev_state_root: CryptoHash,
2628 #[doc = "Legacy json number. Should not be used."]
2629 pub timestamp: u64,
2630 pub timestamp_nanosec: ::std::string::String,
2631 }
2632 impl ::std::convert::From<&BlockHeaderInnerLiteView> for BlockHeaderInnerLiteView {
2633 fn from(value: &BlockHeaderInnerLiteView) -> Self {
2634 value.clone()
2635 }
2636 }
2637 #[doc = "`BlockHeaderView`"]
2638 #[doc = r""]
2639 #[doc = r" <details><summary>JSON schema</summary>"]
2640 #[doc = r""]
2641 #[doc = r" ```json"]
2642 #[doc = "{"]
2643 #[doc = " \"type\": \"object\","]
2644 #[doc = " \"required\": ["]
2645 #[doc = " \"approvals\","]
2646 #[doc = " \"block_merkle_root\","]
2647 #[doc = " \"challenges_result\","]
2648 #[doc = " \"challenges_root\","]
2649 #[doc = " \"chunk_headers_root\","]
2650 #[doc = " \"chunk_mask\","]
2651 #[doc = " \"chunk_receipts_root\","]
2652 #[doc = " \"chunk_tx_root\","]
2653 #[doc = " \"chunks_included\","]
2654 #[doc = " \"epoch_id\","]
2655 #[doc = " \"gas_price\","]
2656 #[doc = " \"hash\","]
2657 #[doc = " \"height\","]
2658 #[doc = " \"last_ds_final_block\","]
2659 #[doc = " \"last_final_block\","]
2660 #[doc = " \"latest_protocol_version\","]
2661 #[doc = " \"next_bp_hash\","]
2662 #[doc = " \"next_epoch_id\","]
2663 #[doc = " \"outcome_root\","]
2664 #[doc = " \"prev_hash\","]
2665 #[doc = " \"prev_state_root\","]
2666 #[doc = " \"random_value\","]
2667 #[doc = " \"rent_paid\","]
2668 #[doc = " \"signature\","]
2669 #[doc = " \"timestamp\","]
2670 #[doc = " \"timestamp_nanosec\","]
2671 #[doc = " \"total_supply\","]
2672 #[doc = " \"validator_proposals\","]
2673 #[doc = " \"validator_reward\""]
2674 #[doc = " ],"]
2675 #[doc = " \"properties\": {"]
2676 #[doc = " \"approvals\": {"]
2677 #[doc = " \"type\": \"array\","]
2678 #[doc = " \"items\": {"]
2679 #[doc = " \"oneOf\": ["]
2680 #[doc = " {"]
2681 #[doc = " \"type\": \"null\""]
2682 #[doc = " },"]
2683 #[doc = " {"]
2684 #[doc = " \"allOf\": ["]
2685 #[doc = " {"]
2686 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
2687 #[doc = " }"]
2688 #[doc = " ]"]
2689 #[doc = " }"]
2690 #[doc = " ]"]
2691 #[doc = " }"]
2692 #[doc = " },"]
2693 #[doc = " \"block_body_hash\": {"]
2694 #[doc = " \"oneOf\": ["]
2695 #[doc = " {"]
2696 #[doc = " \"type\": \"null\""]
2697 #[doc = " },"]
2698 #[doc = " {"]
2699 #[doc = " \"allOf\": ["]
2700 #[doc = " {"]
2701 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2702 #[doc = " }"]
2703 #[doc = " ]"]
2704 #[doc = " }"]
2705 #[doc = " ]"]
2706 #[doc = " },"]
2707 #[doc = " \"block_merkle_root\": {"]
2708 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2709 #[doc = " },"]
2710 #[doc = " \"block_ordinal\": {"]
2711 #[doc = " \"type\": ["]
2712 #[doc = " \"integer\","]
2713 #[doc = " \"null\""]
2714 #[doc = " ],"]
2715 #[doc = " \"format\": \"uint64\","]
2716 #[doc = " \"minimum\": 0.0"]
2717 #[doc = " },"]
2718 #[doc = " \"challenges_result\": {"]
2719 #[doc = " \"type\": \"array\","]
2720 #[doc = " \"items\": {"]
2721 #[doc = " \"$ref\": \"#/components/schemas/SlashedValidator\""]
2722 #[doc = " }"]
2723 #[doc = " },"]
2724 #[doc = " \"challenges_root\": {"]
2725 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2726 #[doc = " },"]
2727 #[doc = " \"chunk_endorsements\": {"]
2728 #[doc = " \"type\": ["]
2729 #[doc = " \"array\","]
2730 #[doc = " \"null\""]
2731 #[doc = " ],"]
2732 #[doc = " \"items\": {"]
2733 #[doc = " \"type\": \"array\","]
2734 #[doc = " \"items\": {"]
2735 #[doc = " \"type\": \"integer\","]
2736 #[doc = " \"format\": \"uint8\","]
2737 #[doc = " \"minimum\": 0.0"]
2738 #[doc = " }"]
2739 #[doc = " }"]
2740 #[doc = " },"]
2741 #[doc = " \"chunk_headers_root\": {"]
2742 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2743 #[doc = " },"]
2744 #[doc = " \"chunk_mask\": {"]
2745 #[doc = " \"type\": \"array\","]
2746 #[doc = " \"items\": {"]
2747 #[doc = " \"type\": \"boolean\""]
2748 #[doc = " }"]
2749 #[doc = " },"]
2750 #[doc = " \"chunk_receipts_root\": {"]
2751 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2752 #[doc = " },"]
2753 #[doc = " \"chunk_tx_root\": {"]
2754 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2755 #[doc = " },"]
2756 #[doc = " \"chunks_included\": {"]
2757 #[doc = " \"type\": \"integer\","]
2758 #[doc = " \"format\": \"uint64\","]
2759 #[doc = " \"minimum\": 0.0"]
2760 #[doc = " },"]
2761 #[doc = " \"epoch_id\": {"]
2762 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2763 #[doc = " },"]
2764 #[doc = " \"epoch_sync_data_hash\": {"]
2765 #[doc = " \"oneOf\": ["]
2766 #[doc = " {"]
2767 #[doc = " \"type\": \"null\""]
2768 #[doc = " },"]
2769 #[doc = " {"]
2770 #[doc = " \"allOf\": ["]
2771 #[doc = " {"]
2772 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2773 #[doc = " }"]
2774 #[doc = " ]"]
2775 #[doc = " }"]
2776 #[doc = " ]"]
2777 #[doc = " },"]
2778 #[doc = " \"gas_price\": {"]
2779 #[doc = " \"type\": \"string\""]
2780 #[doc = " },"]
2781 #[doc = " \"hash\": {"]
2782 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2783 #[doc = " },"]
2784 #[doc = " \"height\": {"]
2785 #[doc = " \"type\": \"integer\","]
2786 #[doc = " \"format\": \"uint64\","]
2787 #[doc = " \"minimum\": 0.0"]
2788 #[doc = " },"]
2789 #[doc = " \"last_ds_final_block\": {"]
2790 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2791 #[doc = " },"]
2792 #[doc = " \"last_final_block\": {"]
2793 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2794 #[doc = " },"]
2795 #[doc = " \"latest_protocol_version\": {"]
2796 #[doc = " \"type\": \"integer\","]
2797 #[doc = " \"format\": \"uint32\","]
2798 #[doc = " \"minimum\": 0.0"]
2799 #[doc = " },"]
2800 #[doc = " \"next_bp_hash\": {"]
2801 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2802 #[doc = " },"]
2803 #[doc = " \"next_epoch_id\": {"]
2804 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2805 #[doc = " },"]
2806 #[doc = " \"outcome_root\": {"]
2807 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2808 #[doc = " },"]
2809 #[doc = " \"prev_hash\": {"]
2810 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2811 #[doc = " },"]
2812 #[doc = " \"prev_height\": {"]
2813 #[doc = " \"type\": ["]
2814 #[doc = " \"integer\","]
2815 #[doc = " \"null\""]
2816 #[doc = " ],"]
2817 #[doc = " \"format\": \"uint64\","]
2818 #[doc = " \"minimum\": 0.0"]
2819 #[doc = " },"]
2820 #[doc = " \"prev_state_root\": {"]
2821 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2822 #[doc = " },"]
2823 #[doc = " \"random_value\": {"]
2824 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2825 #[doc = " },"]
2826 #[doc = " \"rent_paid\": {"]
2827 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
2828 #[doc = " \"type\": \"string\""]
2829 #[doc = " },"]
2830 #[doc = " \"signature\": {"]
2831 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
2832 #[doc = " },"]
2833 #[doc = " \"timestamp\": {"]
2834 #[doc = " \"description\": \"Legacy json number. Should not be used.\","]
2835 #[doc = " \"type\": \"integer\","]
2836 #[doc = " \"format\": \"uint64\","]
2837 #[doc = " \"minimum\": 0.0"]
2838 #[doc = " },"]
2839 #[doc = " \"timestamp_nanosec\": {"]
2840 #[doc = " \"type\": \"string\""]
2841 #[doc = " },"]
2842 #[doc = " \"total_supply\": {"]
2843 #[doc = " \"type\": \"string\""]
2844 #[doc = " },"]
2845 #[doc = " \"validator_proposals\": {"]
2846 #[doc = " \"type\": \"array\","]
2847 #[doc = " \"items\": {"]
2848 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
2849 #[doc = " }"]
2850 #[doc = " },"]
2851 #[doc = " \"validator_reward\": {"]
2852 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
2853 #[doc = " \"type\": \"string\""]
2854 #[doc = " }"]
2855 #[doc = " }"]
2856 #[doc = "}"]
2857 #[doc = r" ```"]
2858 #[doc = r" </details>"]
2859 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2860 pub struct BlockHeaderView {
2861 pub approvals: ::std::vec::Vec<::std::option::Option<Signature>>,
2862 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
2863 pub block_body_hash: ::std::option::Option<CryptoHash>,
2864 pub block_merkle_root: CryptoHash,
2865 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
2866 pub block_ordinal: ::std::option::Option<u64>,
2867 pub challenges_result: ::std::vec::Vec<SlashedValidator>,
2868 pub challenges_root: CryptoHash,
2869 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
2870 pub chunk_endorsements: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<u8>>>,
2871 pub chunk_headers_root: CryptoHash,
2872 pub chunk_mask: ::std::vec::Vec<bool>,
2873 pub chunk_receipts_root: CryptoHash,
2874 pub chunk_tx_root: CryptoHash,
2875 pub chunks_included: u64,
2876 pub epoch_id: CryptoHash,
2877 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
2878 pub epoch_sync_data_hash: ::std::option::Option<CryptoHash>,
2879 pub gas_price: ::std::string::String,
2880 pub hash: CryptoHash,
2881 pub height: u64,
2882 pub last_ds_final_block: CryptoHash,
2883 pub last_final_block: CryptoHash,
2884 pub latest_protocol_version: u32,
2885 pub next_bp_hash: CryptoHash,
2886 pub next_epoch_id: CryptoHash,
2887 pub outcome_root: CryptoHash,
2888 pub prev_hash: CryptoHash,
2889 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
2890 pub prev_height: ::std::option::Option<u64>,
2891 pub prev_state_root: CryptoHash,
2892 pub random_value: CryptoHash,
2893 #[doc = "TODO(2271): deprecated."]
2894 pub rent_paid: ::std::string::String,
2895 pub signature: Signature,
2896 #[doc = "Legacy json number. Should not be used."]
2897 pub timestamp: u64,
2898 pub timestamp_nanosec: ::std::string::String,
2899 pub total_supply: ::std::string::String,
2900 pub validator_proposals: ::std::vec::Vec<ValidatorStakeView>,
2901 #[doc = "TODO(2271): deprecated."]
2902 pub validator_reward: ::std::string::String,
2903 }
2904 impl ::std::convert::From<&BlockHeaderView> for BlockHeaderView {
2905 fn from(value: &BlockHeaderView) -> Self {
2906 value.clone()
2907 }
2908 }
2909 #[doc = "`BlockId`"]
2910 #[doc = r""]
2911 #[doc = r" <details><summary>JSON schema</summary>"]
2912 #[doc = r""]
2913 #[doc = r" ```json"]
2914 #[doc = "{"]
2915 #[doc = " \"anyOf\": ["]
2916 #[doc = " {"]
2917 #[doc = " \"type\": \"integer\","]
2918 #[doc = " \"format\": \"uint64\","]
2919 #[doc = " \"minimum\": 0.0"]
2920 #[doc = " },"]
2921 #[doc = " {"]
2922 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
2923 #[doc = " }"]
2924 #[doc = " ]"]
2925 #[doc = "}"]
2926 #[doc = r" ```"]
2927 #[doc = r" </details>"]
2928 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
2929 #[serde(untagged)]
2930 pub enum BlockId {
2931 Variant0(u64),
2932 Variant1(CryptoHash),
2933 }
2934 impl ::std::convert::From<&Self> for BlockId {
2935 fn from(value: &BlockId) -> Self {
2936 value.clone()
2937 }
2938 }
2939 impl ::std::str::FromStr for BlockId {
2940 type Err = self::error::ConversionError;
2941 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
2942 if let Ok(v) = value.parse() {
2943 Ok(Self::Variant0(v))
2944 } else if let Ok(v) = value.parse() {
2945 Ok(Self::Variant1(v))
2946 } else {
2947 Err("string conversion failed for all variants".into())
2948 }
2949 }
2950 }
2951 impl ::std::convert::TryFrom<&str> for BlockId {
2952 type Error = self::error::ConversionError;
2953 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
2954 value.parse()
2955 }
2956 }
2957 impl ::std::convert::TryFrom<&::std::string::String> for BlockId {
2958 type Error = self::error::ConversionError;
2959 fn try_from(
2960 value: &::std::string::String,
2961 ) -> ::std::result::Result<Self, self::error::ConversionError> {
2962 value.parse()
2963 }
2964 }
2965 impl ::std::convert::TryFrom<::std::string::String> for BlockId {
2966 type Error = self::error::ConversionError;
2967 fn try_from(
2968 value: ::std::string::String,
2969 ) -> ::std::result::Result<Self, self::error::ConversionError> {
2970 value.parse()
2971 }
2972 }
2973 impl ::std::fmt::Display for BlockId {
2974 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2975 match self {
2976 Self::Variant0(x) => x.fmt(f),
2977 Self::Variant1(x) => x.fmt(f),
2978 }
2979 }
2980 }
2981 impl ::std::convert::From<u64> for BlockId {
2982 fn from(value: u64) -> Self {
2983 Self::Variant0(value)
2984 }
2985 }
2986 impl ::std::convert::From<CryptoHash> for BlockId {
2987 fn from(value: CryptoHash) -> Self {
2988 Self::Variant1(value)
2989 }
2990 }
2991 #[doc = "`BlockStatusView`"]
2992 #[doc = r""]
2993 #[doc = r" <details><summary>JSON schema</summary>"]
2994 #[doc = r""]
2995 #[doc = r" ```json"]
2996 #[doc = "{"]
2997 #[doc = " \"type\": \"object\","]
2998 #[doc = " \"required\": ["]
2999 #[doc = " \"hash\","]
3000 #[doc = " \"height\""]
3001 #[doc = " ],"]
3002 #[doc = " \"properties\": {"]
3003 #[doc = " \"hash\": {"]
3004 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3005 #[doc = " },"]
3006 #[doc = " \"height\": {"]
3007 #[doc = " \"type\": \"integer\","]
3008 #[doc = " \"format\": \"uint64\","]
3009 #[doc = " \"minimum\": 0.0"]
3010 #[doc = " }"]
3011 #[doc = " }"]
3012 #[doc = "}"]
3013 #[doc = r" ```"]
3014 #[doc = r" </details>"]
3015 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3016 pub struct BlockStatusView {
3017 pub hash: CryptoHash,
3018 pub height: u64,
3019 }
3020 impl ::std::convert::From<&BlockStatusView> for BlockStatusView {
3021 fn from(value: &BlockStatusView) -> Self {
3022 value.clone()
3023 }
3024 }
3025 #[doc = "`CallResult`"]
3026 #[doc = r""]
3027 #[doc = r" <details><summary>JSON schema</summary>"]
3028 #[doc = r""]
3029 #[doc = r" ```json"]
3030 #[doc = "{"]
3031 #[doc = " \"type\": \"object\","]
3032 #[doc = " \"required\": ["]
3033 #[doc = " \"logs\","]
3034 #[doc = " \"result\""]
3035 #[doc = " ],"]
3036 #[doc = " \"properties\": {"]
3037 #[doc = " \"logs\": {"]
3038 #[doc = " \"type\": \"array\","]
3039 #[doc = " \"items\": {"]
3040 #[doc = " \"type\": \"string\""]
3041 #[doc = " }"]
3042 #[doc = " },"]
3043 #[doc = " \"result\": {"]
3044 #[doc = " \"type\": \"array\","]
3045 #[doc = " \"items\": {"]
3046 #[doc = " \"type\": \"integer\","]
3047 #[doc = " \"format\": \"uint8\","]
3048 #[doc = " \"minimum\": 0.0"]
3049 #[doc = " }"]
3050 #[doc = " }"]
3051 #[doc = " }"]
3052 #[doc = "}"]
3053 #[doc = r" ```"]
3054 #[doc = r" </details>"]
3055 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3056 pub struct CallResult {
3057 pub logs: ::std::vec::Vec<::std::string::String>,
3058 pub result: ::std::vec::Vec<u8>,
3059 }
3060 impl ::std::convert::From<&CallResult> for CallResult {
3061 fn from(value: &CallResult) -> Self {
3062 value.clone()
3063 }
3064 }
3065 #[doc = "`CatchupStatusView`"]
3066 #[doc = r""]
3067 #[doc = r" <details><summary>JSON schema</summary>"]
3068 #[doc = r""]
3069 #[doc = r" ```json"]
3070 #[doc = "{"]
3071 #[doc = " \"type\": \"object\","]
3072 #[doc = " \"required\": ["]
3073 #[doc = " \"blocks_to_catchup\","]
3074 #[doc = " \"shard_sync_status\","]
3075 #[doc = " \"sync_block_hash\","]
3076 #[doc = " \"sync_block_height\""]
3077 #[doc = " ],"]
3078 #[doc = " \"properties\": {"]
3079 #[doc = " \"blocks_to_catchup\": {"]
3080 #[doc = " \"type\": \"array\","]
3081 #[doc = " \"items\": {"]
3082 #[doc = " \"$ref\": \"#/components/schemas/BlockStatusView\""]
3083 #[doc = " }"]
3084 #[doc = " },"]
3085 #[doc = " \"shard_sync_status\": {"]
3086 #[doc = " \"type\": \"object\","]
3087 #[doc = " \"additionalProperties\": {"]
3088 #[doc = " \"type\": \"string\""]
3089 #[doc = " }"]
3090 #[doc = " },"]
3091 #[doc = " \"sync_block_hash\": {"]
3092 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3093 #[doc = " },"]
3094 #[doc = " \"sync_block_height\": {"]
3095 #[doc = " \"type\": \"integer\","]
3096 #[doc = " \"format\": \"uint64\","]
3097 #[doc = " \"minimum\": 0.0"]
3098 #[doc = " }"]
3099 #[doc = " }"]
3100 #[doc = "}"]
3101 #[doc = r" ```"]
3102 #[doc = r" </details>"]
3103 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3104 pub struct CatchupStatusView {
3105 pub blocks_to_catchup: ::std::vec::Vec<BlockStatusView>,
3106 pub shard_sync_status:
3107 ::std::collections::HashMap<::std::string::String, ::std::string::String>,
3108 pub sync_block_hash: CryptoHash,
3109 pub sync_block_height: u64,
3110 }
3111 impl ::std::convert::From<&CatchupStatusView> for CatchupStatusView {
3112 fn from(value: &CatchupStatusView) -> Self {
3113 value.clone()
3114 }
3115 }
3116 #[doc = "`CauseRpcErrorKind`"]
3117 #[doc = r""]
3118 #[doc = r" <details><summary>JSON schema</summary>"]
3119 #[doc = r""]
3120 #[doc = r" ```json"]
3121 #[doc = "{"]
3122 #[doc = " \"anyOf\": ["]
3123 #[doc = " {"]
3124 #[doc = " \"$ref\": \"#/components/schemas/RpcRequestValidationErrorKind\""]
3125 #[doc = " },"]
3126 #[doc = " {},"]
3127 #[doc = " {}"]
3128 #[doc = " ]"]
3129 #[doc = "}"]
3130 #[doc = r" ```"]
3131 #[doc = r" </details>"]
3132 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3133 pub struct CauseRpcErrorKind {
3134 #[serde(
3135 flatten,
3136 default,
3137 skip_serializing_if = "::std::option::Option::is_none"
3138 )]
3139 pub subtype_0: ::std::option::Option<RpcRequestValidationErrorKind>,
3140 #[serde(
3141 flatten,
3142 default,
3143 skip_serializing_if = "::std::option::Option::is_none"
3144 )]
3145 pub subtype_1: ::std::option::Option<::serde_json::Value>,
3146 #[serde(
3147 flatten,
3148 default,
3149 skip_serializing_if = "::std::option::Option::is_none"
3150 )]
3151 pub subtype_2: ::std::option::Option<::serde_json::Value>,
3152 }
3153 impl ::std::convert::From<&CauseRpcErrorKind> for CauseRpcErrorKind {
3154 fn from(value: &CauseRpcErrorKind) -> Self {
3155 value.clone()
3156 }
3157 }
3158 impl ::std::default::Default for CauseRpcErrorKind {
3159 fn default() -> Self {
3160 Self {
3161 subtype_0: Default::default(),
3162 subtype_1: Default::default(),
3163 subtype_2: Default::default(),
3164 }
3165 }
3166 }
3167 #[doc = "Config for the Chunk Distribution Network feature.\n This allows nodes to push and pull chunks from a central stream.\n The two benefits of this approach are: (1) less request/response traffic\n on the peer-to-peer network and (2) lower latency for RPC nodes indexing the chain."]
3168 #[doc = r""]
3169 #[doc = r" <details><summary>JSON schema</summary>"]
3170 #[doc = r""]
3171 #[doc = r" ```json"]
3172 #[doc = "{"]
3173 #[doc = " \"description\": \"Config for the Chunk Distribution Network feature.\\n This allows nodes to push and pull chunks from a central stream.\\n The two benefits of this approach are: (1) less request/response traffic\\n on the peer-to-peer network and (2) lower latency for RPC nodes indexing the chain.\","]
3174 #[doc = " \"type\": \"object\","]
3175 #[doc = " \"required\": ["]
3176 #[doc = " \"enabled\","]
3177 #[doc = " \"uris\""]
3178 #[doc = " ],"]
3179 #[doc = " \"properties\": {"]
3180 #[doc = " \"enabled\": {"]
3181 #[doc = " \"type\": \"boolean\""]
3182 #[doc = " },"]
3183 #[doc = " \"uris\": {"]
3184 #[doc = " \"$ref\": \"#/components/schemas/ChunkDistributionUris\""]
3185 #[doc = " }"]
3186 #[doc = " }"]
3187 #[doc = "}"]
3188 #[doc = r" ```"]
3189 #[doc = r" </details>"]
3190 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3191 pub struct ChunkDistributionNetworkConfig {
3192 pub enabled: bool,
3193 pub uris: ChunkDistributionUris,
3194 }
3195 impl ::std::convert::From<&ChunkDistributionNetworkConfig> for ChunkDistributionNetworkConfig {
3196 fn from(value: &ChunkDistributionNetworkConfig) -> Self {
3197 value.clone()
3198 }
3199 }
3200 #[doc = "URIs for the Chunk Distribution Network feature."]
3201 #[doc = r""]
3202 #[doc = r" <details><summary>JSON schema</summary>"]
3203 #[doc = r""]
3204 #[doc = r" ```json"]
3205 #[doc = "{"]
3206 #[doc = " \"description\": \"URIs for the Chunk Distribution Network feature.\","]
3207 #[doc = " \"type\": \"object\","]
3208 #[doc = " \"required\": ["]
3209 #[doc = " \"get\","]
3210 #[doc = " \"set\""]
3211 #[doc = " ],"]
3212 #[doc = " \"properties\": {"]
3213 #[doc = " \"get\": {"]
3214 #[doc = " \"description\": \"URI for pulling chunks from the stream.\","]
3215 #[doc = " \"type\": \"string\""]
3216 #[doc = " },"]
3217 #[doc = " \"set\": {"]
3218 #[doc = " \"description\": \"URI for publishing chunks to the stream.\","]
3219 #[doc = " \"type\": \"string\""]
3220 #[doc = " }"]
3221 #[doc = " }"]
3222 #[doc = "}"]
3223 #[doc = r" ```"]
3224 #[doc = r" </details>"]
3225 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3226 pub struct ChunkDistributionUris {
3227 #[doc = "URI for pulling chunks from the stream."]
3228 pub get: ::std::string::String,
3229 #[doc = "URI for publishing chunks to the stream."]
3230 pub set: ::std::string::String,
3231 }
3232 impl ::std::convert::From<&ChunkDistributionUris> for ChunkDistributionUris {
3233 fn from(value: &ChunkDistributionUris) -> Self {
3234 value.clone()
3235 }
3236 }
3237 #[doc = "`ChunkHeaderView`"]
3238 #[doc = r""]
3239 #[doc = r" <details><summary>JSON schema</summary>"]
3240 #[doc = r""]
3241 #[doc = r" ```json"]
3242 #[doc = "{"]
3243 #[doc = " \"type\": \"object\","]
3244 #[doc = " \"required\": ["]
3245 #[doc = " \"balance_burnt\","]
3246 #[doc = " \"chunk_hash\","]
3247 #[doc = " \"encoded_length\","]
3248 #[doc = " \"encoded_merkle_root\","]
3249 #[doc = " \"gas_limit\","]
3250 #[doc = " \"gas_used\","]
3251 #[doc = " \"height_created\","]
3252 #[doc = " \"height_included\","]
3253 #[doc = " \"outcome_root\","]
3254 #[doc = " \"outgoing_receipts_root\","]
3255 #[doc = " \"prev_block_hash\","]
3256 #[doc = " \"prev_state_root\","]
3257 #[doc = " \"rent_paid\","]
3258 #[doc = " \"shard_id\","]
3259 #[doc = " \"signature\","]
3260 #[doc = " \"tx_root\","]
3261 #[doc = " \"validator_proposals\","]
3262 #[doc = " \"validator_reward\""]
3263 #[doc = " ],"]
3264 #[doc = " \"properties\": {"]
3265 #[doc = " \"balance_burnt\": {"]
3266 #[doc = " \"type\": \"string\""]
3267 #[doc = " },"]
3268 #[doc = " \"bandwidth_requests\": {"]
3269 #[doc = " \"oneOf\": ["]
3270 #[doc = " {"]
3271 #[doc = " \"type\": \"null\""]
3272 #[doc = " },"]
3273 #[doc = " {"]
3274 #[doc = " \"allOf\": ["]
3275 #[doc = " {"]
3276 #[doc = " \"$ref\": \"#/components/schemas/BandwidthRequests\""]
3277 #[doc = " }"]
3278 #[doc = " ]"]
3279 #[doc = " }"]
3280 #[doc = " ]"]
3281 #[doc = " },"]
3282 #[doc = " \"chunk_hash\": {"]
3283 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3284 #[doc = " },"]
3285 #[doc = " \"congestion_info\": {"]
3286 #[doc = " \"oneOf\": ["]
3287 #[doc = " {"]
3288 #[doc = " \"type\": \"null\""]
3289 #[doc = " },"]
3290 #[doc = " {"]
3291 #[doc = " \"allOf\": ["]
3292 #[doc = " {"]
3293 #[doc = " \"$ref\": \"#/components/schemas/CongestionInfoView\""]
3294 #[doc = " }"]
3295 #[doc = " ]"]
3296 #[doc = " }"]
3297 #[doc = " ]"]
3298 #[doc = " },"]
3299 #[doc = " \"encoded_length\": {"]
3300 #[doc = " \"type\": \"integer\","]
3301 #[doc = " \"format\": \"uint64\","]
3302 #[doc = " \"minimum\": 0.0"]
3303 #[doc = " },"]
3304 #[doc = " \"encoded_merkle_root\": {"]
3305 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3306 #[doc = " },"]
3307 #[doc = " \"gas_limit\": {"]
3308 #[doc = " \"type\": \"integer\","]
3309 #[doc = " \"format\": \"uint64\","]
3310 #[doc = " \"minimum\": 0.0"]
3311 #[doc = " },"]
3312 #[doc = " \"gas_used\": {"]
3313 #[doc = " \"type\": \"integer\","]
3314 #[doc = " \"format\": \"uint64\","]
3315 #[doc = " \"minimum\": 0.0"]
3316 #[doc = " },"]
3317 #[doc = " \"height_created\": {"]
3318 #[doc = " \"type\": \"integer\","]
3319 #[doc = " \"format\": \"uint64\","]
3320 #[doc = " \"minimum\": 0.0"]
3321 #[doc = " },"]
3322 #[doc = " \"height_included\": {"]
3323 #[doc = " \"type\": \"integer\","]
3324 #[doc = " \"format\": \"uint64\","]
3325 #[doc = " \"minimum\": 0.0"]
3326 #[doc = " },"]
3327 #[doc = " \"outcome_root\": {"]
3328 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3329 #[doc = " },"]
3330 #[doc = " \"outgoing_receipts_root\": {"]
3331 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3332 #[doc = " },"]
3333 #[doc = " \"prev_block_hash\": {"]
3334 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3335 #[doc = " },"]
3336 #[doc = " \"prev_state_root\": {"]
3337 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3338 #[doc = " },"]
3339 #[doc = " \"rent_paid\": {"]
3340 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
3341 #[doc = " \"type\": \"string\""]
3342 #[doc = " },"]
3343 #[doc = " \"shard_id\": {"]
3344 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
3345 #[doc = " },"]
3346 #[doc = " \"signature\": {"]
3347 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
3348 #[doc = " },"]
3349 #[doc = " \"tx_root\": {"]
3350 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3351 #[doc = " },"]
3352 #[doc = " \"validator_proposals\": {"]
3353 #[doc = " \"type\": \"array\","]
3354 #[doc = " \"items\": {"]
3355 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
3356 #[doc = " }"]
3357 #[doc = " },"]
3358 #[doc = " \"validator_reward\": {"]
3359 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
3360 #[doc = " \"type\": \"string\""]
3361 #[doc = " }"]
3362 #[doc = " }"]
3363 #[doc = "}"]
3364 #[doc = r" ```"]
3365 #[doc = r" </details>"]
3366 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3367 pub struct ChunkHeaderView {
3368 pub balance_burnt: ::std::string::String,
3369 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
3370 pub bandwidth_requests: ::std::option::Option<BandwidthRequests>,
3371 pub chunk_hash: CryptoHash,
3372 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
3373 pub congestion_info: ::std::option::Option<CongestionInfoView>,
3374 pub encoded_length: u64,
3375 pub encoded_merkle_root: CryptoHash,
3376 pub gas_limit: u64,
3377 pub gas_used: u64,
3378 pub height_created: u64,
3379 pub height_included: u64,
3380 pub outcome_root: CryptoHash,
3381 pub outgoing_receipts_root: CryptoHash,
3382 pub prev_block_hash: CryptoHash,
3383 pub prev_state_root: CryptoHash,
3384 #[doc = "TODO(2271): deprecated."]
3385 pub rent_paid: ::std::string::String,
3386 pub shard_id: ShardId,
3387 pub signature: Signature,
3388 pub tx_root: CryptoHash,
3389 pub validator_proposals: ::std::vec::Vec<ValidatorStakeView>,
3390 #[doc = "TODO(2271): deprecated."]
3391 pub validator_reward: ::std::string::String,
3392 }
3393 impl ::std::convert::From<&ChunkHeaderView> for ChunkHeaderView {
3394 fn from(value: &ChunkHeaderView) -> Self {
3395 value.clone()
3396 }
3397 }
3398 #[doc = "`CompilationError`"]
3399 #[doc = r""]
3400 #[doc = r" <details><summary>JSON schema</summary>"]
3401 #[doc = r""]
3402 #[doc = r" ```json"]
3403 #[doc = "{"]
3404 #[doc = " \"oneOf\": ["]
3405 #[doc = " {"]
3406 #[doc = " \"type\": \"object\","]
3407 #[doc = " \"required\": ["]
3408 #[doc = " \"CodeDoesNotExist\""]
3409 #[doc = " ],"]
3410 #[doc = " \"properties\": {"]
3411 #[doc = " \"CodeDoesNotExist\": {"]
3412 #[doc = " \"type\": \"object\","]
3413 #[doc = " \"required\": ["]
3414 #[doc = " \"account_id\""]
3415 #[doc = " ],"]
3416 #[doc = " \"properties\": {"]
3417 #[doc = " \"account_id\": {"]
3418 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
3419 #[doc = " }"]
3420 #[doc = " }"]
3421 #[doc = " }"]
3422 #[doc = " },"]
3423 #[doc = " \"additionalProperties\": false"]
3424 #[doc = " },"]
3425 #[doc = " {"]
3426 #[doc = " \"type\": \"object\","]
3427 #[doc = " \"required\": ["]
3428 #[doc = " \"PrepareError\""]
3429 #[doc = " ],"]
3430 #[doc = " \"properties\": {"]
3431 #[doc = " \"PrepareError\": {"]
3432 #[doc = " \"$ref\": \"#/components/schemas/PrepareError\""]
3433 #[doc = " }"]
3434 #[doc = " },"]
3435 #[doc = " \"additionalProperties\": false"]
3436 #[doc = " },"]
3437 #[doc = " {"]
3438 #[doc = " \"description\": \"This is for defense in depth.\\n We expect our runtime-independent preparation code to fully catch all invalid wasms,\\n but, if it ever misses something we’ll emit this error\","]
3439 #[doc = " \"type\": \"object\","]
3440 #[doc = " \"required\": ["]
3441 #[doc = " \"WasmerCompileError\""]
3442 #[doc = " ],"]
3443 #[doc = " \"properties\": {"]
3444 #[doc = " \"WasmerCompileError\": {"]
3445 #[doc = " \"type\": \"object\","]
3446 #[doc = " \"required\": ["]
3447 #[doc = " \"msg\""]
3448 #[doc = " ],"]
3449 #[doc = " \"properties\": {"]
3450 #[doc = " \"msg\": {"]
3451 #[doc = " \"type\": \"string\""]
3452 #[doc = " }"]
3453 #[doc = " }"]
3454 #[doc = " }"]
3455 #[doc = " },"]
3456 #[doc = " \"additionalProperties\": false"]
3457 #[doc = " }"]
3458 #[doc = " ]"]
3459 #[doc = "}"]
3460 #[doc = r" ```"]
3461 #[doc = r" </details>"]
3462 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3463 pub enum CompilationError {
3464 CodeDoesNotExist {
3465 account_id: AccountId,
3466 },
3467 PrepareError(PrepareError),
3468 #[doc = "This is for defense in depth.\n We expect our runtime-independent preparation code to fully catch all invalid wasms,\n but, if it ever misses something we’ll emit this error"]
3469 WasmerCompileError {
3470 msg: ::std::string::String,
3471 },
3472 }
3473 impl ::std::convert::From<&Self> for CompilationError {
3474 fn from(value: &CompilationError) -> Self {
3475 value.clone()
3476 }
3477 }
3478 impl ::std::convert::From<PrepareError> for CompilationError {
3479 fn from(value: PrepareError) -> Self {
3480 Self::PrepareError(value)
3481 }
3482 }
3483 #[doc = "`CongestionControlConfigView`"]
3484 #[doc = r""]
3485 #[doc = r" <details><summary>JSON schema</summary>"]
3486 #[doc = r""]
3487 #[doc = r" ```json"]
3488 #[doc = "{"]
3489 #[doc = " \"type\": \"object\","]
3490 #[doc = " \"required\": ["]
3491 #[doc = " \"allowed_shard_outgoing_gas\","]
3492 #[doc = " \"max_congestion_incoming_gas\","]
3493 #[doc = " \"max_congestion_memory_consumption\","]
3494 #[doc = " \"max_congestion_missed_chunks\","]
3495 #[doc = " \"max_congestion_outgoing_gas\","]
3496 #[doc = " \"max_outgoing_gas\","]
3497 #[doc = " \"max_tx_gas\","]
3498 #[doc = " \"min_outgoing_gas\","]
3499 #[doc = " \"min_tx_gas\","]
3500 #[doc = " \"outgoing_receipts_big_size_limit\","]
3501 #[doc = " \"outgoing_receipts_usual_size_limit\","]
3502 #[doc = " \"reject_tx_congestion_threshold\""]
3503 #[doc = " ],"]
3504 #[doc = " \"properties\": {"]
3505 #[doc = " \"allowed_shard_outgoing_gas\": {"]
3506 #[doc = " \"description\": \"How much gas the chosen allowed shard can send to a 100% congested shard.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3507 #[doc = " \"type\": \"integer\","]
3508 #[doc = " \"format\": \"uint64\","]
3509 #[doc = " \"minimum\": 0.0"]
3510 #[doc = " },"]
3511 #[doc = " \"max_congestion_incoming_gas\": {"]
3512 #[doc = " \"description\": \"How much gas in delayed receipts of a shard is 100% incoming congestion.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3513 #[doc = " \"type\": \"integer\","]
3514 #[doc = " \"format\": \"uint64\","]
3515 #[doc = " \"minimum\": 0.0"]
3516 #[doc = " },"]
3517 #[doc = " \"max_congestion_memory_consumption\": {"]
3518 #[doc = " \"description\": \"How much memory space of all delayed and buffered receipts in a shard is\\n considered 100% congested.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3519 #[doc = " \"type\": \"integer\","]
3520 #[doc = " \"format\": \"uint64\","]
3521 #[doc = " \"minimum\": 0.0"]
3522 #[doc = " },"]
3523 #[doc = " \"max_congestion_missed_chunks\": {"]
3524 #[doc = " \"description\": \"How many missed chunks in a row in a shard is considered 100% congested.\","]
3525 #[doc = " \"type\": \"integer\","]
3526 #[doc = " \"format\": \"uint64\","]
3527 #[doc = " \"minimum\": 0.0"]
3528 #[doc = " },"]
3529 #[doc = " \"max_congestion_outgoing_gas\": {"]
3530 #[doc = " \"description\": \"How much gas in outgoing buffered receipts of a shard is 100% congested.\\n\\n Outgoing congestion contributes to overall congestion, which reduces how\\n much other shards are allowed to forward to this shard.\","]
3531 #[doc = " \"type\": \"integer\","]
3532 #[doc = " \"format\": \"uint64\","]
3533 #[doc = " \"minimum\": 0.0"]
3534 #[doc = " },"]
3535 #[doc = " \"max_outgoing_gas\": {"]
3536 #[doc = " \"description\": \"The maximum amount of gas attached to receipts a shard can forward to\\n another shard per chunk.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3537 #[doc = " \"type\": \"integer\","]
3538 #[doc = " \"format\": \"uint64\","]
3539 #[doc = " \"minimum\": 0.0"]
3540 #[doc = " },"]
3541 #[doc = " \"max_tx_gas\": {"]
3542 #[doc = " \"description\": \"The maximum amount of gas in a chunk spent on converting new transactions to\\n receipts.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3543 #[doc = " \"type\": \"integer\","]
3544 #[doc = " \"format\": \"uint64\","]
3545 #[doc = " \"minimum\": 0.0"]
3546 #[doc = " },"]
3547 #[doc = " \"min_outgoing_gas\": {"]
3548 #[doc = " \"description\": \"The minimum gas each shard can send to a shard that is not fully congested.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3549 #[doc = " \"type\": \"integer\","]
3550 #[doc = " \"format\": \"uint64\","]
3551 #[doc = " \"minimum\": 0.0"]
3552 #[doc = " },"]
3553 #[doc = " \"min_tx_gas\": {"]
3554 #[doc = " \"description\": \"The minimum amount of gas in a chunk spent on converting new transactions\\n to receipts, as long as the receiving shard is not congested.\\n\\n See [`CongestionControlConfig`] for more details.\","]
3555 #[doc = " \"type\": \"integer\","]
3556 #[doc = " \"format\": \"uint64\","]
3557 #[doc = " \"minimum\": 0.0"]
3558 #[doc = " },"]
3559 #[doc = " \"outgoing_receipts_big_size_limit\": {"]
3560 #[doc = " \"description\": \"Large size limit for outgoing receipts to a shard, used when it's safe\\n to send a lot of receipts without making the state witness too large.\\n It limits the total sum of outgoing receipts, not individual receipts.\","]
3561 #[doc = " \"type\": \"integer\","]
3562 #[doc = " \"format\": \"uint64\","]
3563 #[doc = " \"minimum\": 0.0"]
3564 #[doc = " },"]
3565 #[doc = " \"outgoing_receipts_usual_size_limit\": {"]
3566 #[doc = " \"description\": \"The standard size limit for outgoing receipts aimed at a single shard.\\n This limit is pretty small to keep the size of source_receipt_proofs under control.\\n It limits the total sum of outgoing receipts, not individual receipts.\","]
3567 #[doc = " \"type\": \"integer\","]
3568 #[doc = " \"format\": \"uint64\","]
3569 #[doc = " \"minimum\": 0.0"]
3570 #[doc = " },"]
3571 #[doc = " \"reject_tx_congestion_threshold\": {"]
3572 #[doc = " \"description\": \"How much congestion a shard can tolerate before it stops all shards from\\n accepting new transactions with the receiver set to the congested shard.\","]
3573 #[doc = " \"type\": \"number\","]
3574 #[doc = " \"format\": \"double\""]
3575 #[doc = " }"]
3576 #[doc = " }"]
3577 #[doc = "}"]
3578 #[doc = r" ```"]
3579 #[doc = r" </details>"]
3580 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3581 pub struct CongestionControlConfigView {
3582 #[doc = "How much gas the chosen allowed shard can send to a 100% congested shard.\n\n See [`CongestionControlConfig`] for more details."]
3583 pub allowed_shard_outgoing_gas: u64,
3584 #[doc = "How much gas in delayed receipts of a shard is 100% incoming congestion.\n\n See [`CongestionControlConfig`] for more details."]
3585 pub max_congestion_incoming_gas: u64,
3586 #[doc = "How much memory space of all delayed and buffered receipts in a shard is\n considered 100% congested.\n\n See [`CongestionControlConfig`] for more details."]
3587 pub max_congestion_memory_consumption: u64,
3588 #[doc = "How many missed chunks in a row in a shard is considered 100% congested."]
3589 pub max_congestion_missed_chunks: u64,
3590 #[doc = "How much gas in outgoing buffered receipts of a shard is 100% congested.\n\n Outgoing congestion contributes to overall congestion, which reduces how\n much other shards are allowed to forward to this shard."]
3591 pub max_congestion_outgoing_gas: u64,
3592 #[doc = "The maximum amount of gas attached to receipts a shard can forward to\n another shard per chunk.\n\n See [`CongestionControlConfig`] for more details."]
3593 pub max_outgoing_gas: u64,
3594 #[doc = "The maximum amount of gas in a chunk spent on converting new transactions to\n receipts.\n\n See [`CongestionControlConfig`] for more details."]
3595 pub max_tx_gas: u64,
3596 #[doc = "The minimum gas each shard can send to a shard that is not fully congested.\n\n See [`CongestionControlConfig`] for more details."]
3597 pub min_outgoing_gas: u64,
3598 #[doc = "The minimum amount of gas in a chunk spent on converting new transactions\n to receipts, as long as the receiving shard is not congested.\n\n See [`CongestionControlConfig`] for more details."]
3599 pub min_tx_gas: u64,
3600 #[doc = "Large size limit for outgoing receipts to a shard, used when it's safe\n to send a lot of receipts without making the state witness too large.\n It limits the total sum of outgoing receipts, not individual receipts."]
3601 pub outgoing_receipts_big_size_limit: u64,
3602 #[doc = "The standard size limit for outgoing receipts aimed at a single shard.\n This limit is pretty small to keep the size of source_receipt_proofs under control.\n It limits the total sum of outgoing receipts, not individual receipts."]
3603 pub outgoing_receipts_usual_size_limit: u64,
3604 pub reject_tx_congestion_threshold: f64,
3605 }
3606 impl ::std::convert::From<&CongestionControlConfigView> for CongestionControlConfigView {
3607 fn from(value: &CongestionControlConfigView) -> Self {
3608 value.clone()
3609 }
3610 }
3611 #[doc = "`CongestionInfoView`"]
3612 #[doc = r""]
3613 #[doc = r" <details><summary>JSON schema</summary>"]
3614 #[doc = r""]
3615 #[doc = r" ```json"]
3616 #[doc = "{"]
3617 #[doc = " \"type\": \"object\","]
3618 #[doc = " \"required\": ["]
3619 #[doc = " \"allowed_shard\","]
3620 #[doc = " \"buffered_receipts_gas\","]
3621 #[doc = " \"delayed_receipts_gas\","]
3622 #[doc = " \"receipt_bytes\""]
3623 #[doc = " ],"]
3624 #[doc = " \"properties\": {"]
3625 #[doc = " \"allowed_shard\": {"]
3626 #[doc = " \"type\": \"integer\","]
3627 #[doc = " \"format\": \"uint16\","]
3628 #[doc = " \"minimum\": 0.0"]
3629 #[doc = " },"]
3630 #[doc = " \"buffered_receipts_gas\": {"]
3631 #[doc = " \"type\": \"string\""]
3632 #[doc = " },"]
3633 #[doc = " \"delayed_receipts_gas\": {"]
3634 #[doc = " \"type\": \"string\""]
3635 #[doc = " },"]
3636 #[doc = " \"receipt_bytes\": {"]
3637 #[doc = " \"type\": \"integer\","]
3638 #[doc = " \"format\": \"uint64\","]
3639 #[doc = " \"minimum\": 0.0"]
3640 #[doc = " }"]
3641 #[doc = " }"]
3642 #[doc = "}"]
3643 #[doc = r" ```"]
3644 #[doc = r" </details>"]
3645 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3646 pub struct CongestionInfoView {
3647 pub allowed_shard: u16,
3648 pub buffered_receipts_gas: ::std::string::String,
3649 pub delayed_receipts_gas: ::std::string::String,
3650 pub receipt_bytes: u64,
3651 }
3652 impl ::std::convert::From<&CongestionInfoView> for CongestionInfoView {
3653 fn from(value: &CongestionInfoView) -> Self {
3654 value.clone()
3655 }
3656 }
3657 #[doc = "A view of the contract code."]
3658 #[doc = r""]
3659 #[doc = r" <details><summary>JSON schema</summary>"]
3660 #[doc = r""]
3661 #[doc = r" ```json"]
3662 #[doc = "{"]
3663 #[doc = " \"description\": \"A view of the contract code.\","]
3664 #[doc = " \"type\": \"object\","]
3665 #[doc = " \"required\": ["]
3666 #[doc = " \"code_base64\","]
3667 #[doc = " \"hash\""]
3668 #[doc = " ],"]
3669 #[doc = " \"properties\": {"]
3670 #[doc = " \"code_base64\": {"]
3671 #[doc = " \"type\": \"string\""]
3672 #[doc = " },"]
3673 #[doc = " \"hash\": {"]
3674 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
3675 #[doc = " }"]
3676 #[doc = " }"]
3677 #[doc = "}"]
3678 #[doc = r" ```"]
3679 #[doc = r" </details>"]
3680 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3681 pub struct ContractCodeView {
3682 pub code_base64: ::std::string::String,
3683 pub hash: CryptoHash,
3684 }
3685 impl ::std::convert::From<&ContractCodeView> for ContractCodeView {
3686 fn from(value: &ContractCodeView) -> Self {
3687 value.clone()
3688 }
3689 }
3690 #[doc = "`CostGasUsed`"]
3691 #[doc = r""]
3692 #[doc = r" <details><summary>JSON schema</summary>"]
3693 #[doc = r""]
3694 #[doc = r" ```json"]
3695 #[doc = "{"]
3696 #[doc = " \"type\": \"object\","]
3697 #[doc = " \"required\": ["]
3698 #[doc = " \"cost\","]
3699 #[doc = " \"cost_category\","]
3700 #[doc = " \"gas_used\""]
3701 #[doc = " ],"]
3702 #[doc = " \"properties\": {"]
3703 #[doc = " \"cost\": {"]
3704 #[doc = " \"type\": \"string\""]
3705 #[doc = " },"]
3706 #[doc = " \"cost_category\": {"]
3707 #[doc = " \"type\": \"string\""]
3708 #[doc = " },"]
3709 #[doc = " \"gas_used\": {"]
3710 #[doc = " \"type\": \"string\""]
3711 #[doc = " }"]
3712 #[doc = " }"]
3713 #[doc = "}"]
3714 #[doc = r" ```"]
3715 #[doc = r" </details>"]
3716 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3717 pub struct CostGasUsed {
3718 pub cost: ::std::string::String,
3719 pub cost_category: ::std::string::String,
3720 pub gas_used: ::std::string::String,
3721 }
3722 impl ::std::convert::From<&CostGasUsed> for CostGasUsed {
3723 fn from(value: &CostGasUsed) -> Self {
3724 value.clone()
3725 }
3726 }
3727 #[doc = "Create account action"]
3728 #[doc = r""]
3729 #[doc = r" <details><summary>JSON schema</summary>"]
3730 #[doc = r""]
3731 #[doc = r" ```json"]
3732 #[doc = "{"]
3733 #[doc = " \"description\": \"Create account action\","]
3734 #[doc = " \"type\": \"object\""]
3735 #[doc = "}"]
3736 #[doc = r" ```"]
3737 #[doc = r" </details>"]
3738 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3739 #[serde(transparent)]
3740 pub struct CreateAccountAction(
3741 pub ::serde_json::Map<::std::string::String, ::serde_json::Value>,
3742 );
3743 impl ::std::ops::Deref for CreateAccountAction {
3744 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
3745 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
3746 &self.0
3747 }
3748 }
3749 impl ::std::convert::From<CreateAccountAction>
3750 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
3751 {
3752 fn from(value: CreateAccountAction) -> Self {
3753 value.0
3754 }
3755 }
3756 impl ::std::convert::From<&CreateAccountAction> for CreateAccountAction {
3757 fn from(value: &CreateAccountAction) -> Self {
3758 value.clone()
3759 }
3760 }
3761 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
3762 for CreateAccountAction
3763 {
3764 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
3765 Self(value)
3766 }
3767 }
3768 #[doc = "`CryptoHash`"]
3769 #[doc = r""]
3770 #[doc = r" <details><summary>JSON schema</summary>"]
3771 #[doc = r""]
3772 #[doc = r" ```json"]
3773 #[doc = "{"]
3774 #[doc = " \"type\": \"string\""]
3775 #[doc = "}"]
3776 #[doc = r" ```"]
3777 #[doc = r" </details>"]
3778 #[derive(
3779 :: serde :: Deserialize,
3780 :: serde :: Serialize,
3781 Clone,
3782 Debug,
3783 Eq,
3784 Hash,
3785 Ord,
3786 PartialEq,
3787 PartialOrd,
3788 )]
3789 #[serde(transparent)]
3790 pub struct CryptoHash(pub ::std::string::String);
3791 impl ::std::ops::Deref for CryptoHash {
3792 type Target = ::std::string::String;
3793 fn deref(&self) -> &::std::string::String {
3794 &self.0
3795 }
3796 }
3797 impl ::std::convert::From<CryptoHash> for ::std::string::String {
3798 fn from(value: CryptoHash) -> Self {
3799 value.0
3800 }
3801 }
3802 impl ::std::convert::From<&CryptoHash> for CryptoHash {
3803 fn from(value: &CryptoHash) -> Self {
3804 value.clone()
3805 }
3806 }
3807 impl ::std::convert::From<::std::string::String> for CryptoHash {
3808 fn from(value: ::std::string::String) -> Self {
3809 Self(value)
3810 }
3811 }
3812 impl ::std::str::FromStr for CryptoHash {
3813 type Err = ::std::convert::Infallible;
3814 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
3815 Ok(Self(value.to_string()))
3816 }
3817 }
3818 impl ::std::fmt::Display for CryptoHash {
3819 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3820 self.0.fmt(f)
3821 }
3822 }
3823 #[doc = "`CurrentEpochValidatorInfo`"]
3824 #[doc = r""]
3825 #[doc = r" <details><summary>JSON schema</summary>"]
3826 #[doc = r""]
3827 #[doc = r" ```json"]
3828 #[doc = "{"]
3829 #[doc = " \"type\": \"object\","]
3830 #[doc = " \"required\": ["]
3831 #[doc = " \"account_id\","]
3832 #[doc = " \"is_slashed\","]
3833 #[doc = " \"num_expected_blocks\","]
3834 #[doc = " \"num_produced_blocks\","]
3835 #[doc = " \"public_key\","]
3836 #[doc = " \"shards\","]
3837 #[doc = " \"shards_endorsed\","]
3838 #[doc = " \"stake\""]
3839 #[doc = " ],"]
3840 #[doc = " \"properties\": {"]
3841 #[doc = " \"account_id\": {"]
3842 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
3843 #[doc = " },"]
3844 #[doc = " \"is_slashed\": {"]
3845 #[doc = " \"type\": \"boolean\""]
3846 #[doc = " },"]
3847 #[doc = " \"num_expected_blocks\": {"]
3848 #[doc = " \"type\": \"integer\","]
3849 #[doc = " \"format\": \"uint64\","]
3850 #[doc = " \"minimum\": 0.0"]
3851 #[doc = " },"]
3852 #[doc = " \"num_expected_chunks\": {"]
3853 #[doc = " \"default\": 0,"]
3854 #[doc = " \"type\": \"integer\","]
3855 #[doc = " \"format\": \"uint64\","]
3856 #[doc = " \"minimum\": 0.0"]
3857 #[doc = " },"]
3858 #[doc = " \"num_expected_chunks_per_shard\": {"]
3859 #[doc = " \"description\": \"Number of chunks this validator was expected to produce in each shard.\\n Each entry in the array corresponds to the shard in the `shards_produced` array.\","]
3860 #[doc = " \"default\": [],"]
3861 #[doc = " \"type\": \"array\","]
3862 #[doc = " \"items\": {"]
3863 #[doc = " \"type\": \"integer\","]
3864 #[doc = " \"format\": \"uint64\","]
3865 #[doc = " \"minimum\": 0.0"]
3866 #[doc = " }"]
3867 #[doc = " },"]
3868 #[doc = " \"num_expected_endorsements\": {"]
3869 #[doc = " \"default\": 0,"]
3870 #[doc = " \"type\": \"integer\","]
3871 #[doc = " \"format\": \"uint64\","]
3872 #[doc = " \"minimum\": 0.0"]
3873 #[doc = " },"]
3874 #[doc = " \"num_expected_endorsements_per_shard\": {"]
3875 #[doc = " \"description\": \"Number of chunks this validator was expected to validate and endorse in each shard.\\n Each entry in the array corresponds to the shard in the `shards_endorsed` array.\","]
3876 #[doc = " \"default\": [],"]
3877 #[doc = " \"type\": \"array\","]
3878 #[doc = " \"items\": {"]
3879 #[doc = " \"type\": \"integer\","]
3880 #[doc = " \"format\": \"uint64\","]
3881 #[doc = " \"minimum\": 0.0"]
3882 #[doc = " }"]
3883 #[doc = " },"]
3884 #[doc = " \"num_produced_blocks\": {"]
3885 #[doc = " \"type\": \"integer\","]
3886 #[doc = " \"format\": \"uint64\","]
3887 #[doc = " \"minimum\": 0.0"]
3888 #[doc = " },"]
3889 #[doc = " \"num_produced_chunks\": {"]
3890 #[doc = " \"default\": 0,"]
3891 #[doc = " \"type\": \"integer\","]
3892 #[doc = " \"format\": \"uint64\","]
3893 #[doc = " \"minimum\": 0.0"]
3894 #[doc = " },"]
3895 #[doc = " \"num_produced_chunks_per_shard\": {"]
3896 #[doc = " \"default\": [],"]
3897 #[doc = " \"type\": \"array\","]
3898 #[doc = " \"items\": {"]
3899 #[doc = " \"type\": \"integer\","]
3900 #[doc = " \"format\": \"uint64\","]
3901 #[doc = " \"minimum\": 0.0"]
3902 #[doc = " }"]
3903 #[doc = " },"]
3904 #[doc = " \"num_produced_endorsements\": {"]
3905 #[doc = " \"default\": 0,"]
3906 #[doc = " \"type\": \"integer\","]
3907 #[doc = " \"format\": \"uint64\","]
3908 #[doc = " \"minimum\": 0.0"]
3909 #[doc = " },"]
3910 #[doc = " \"num_produced_endorsements_per_shard\": {"]
3911 #[doc = " \"default\": [],"]
3912 #[doc = " \"type\": \"array\","]
3913 #[doc = " \"items\": {"]
3914 #[doc = " \"type\": \"integer\","]
3915 #[doc = " \"format\": \"uint64\","]
3916 #[doc = " \"minimum\": 0.0"]
3917 #[doc = " }"]
3918 #[doc = " },"]
3919 #[doc = " \"public_key\": {"]
3920 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
3921 #[doc = " },"]
3922 #[doc = " \"shards\": {"]
3923 #[doc = " \"description\": \"Shards this validator is assigned to as chunk producer in the current epoch.\","]
3924 #[doc = " \"type\": \"array\","]
3925 #[doc = " \"items\": {"]
3926 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
3927 #[doc = " }"]
3928 #[doc = " },"]
3929 #[doc = " \"shards_endorsed\": {"]
3930 #[doc = " \"description\": \"Shards this validator is assigned to as chunk validator in the current epoch.\","]
3931 #[doc = " \"type\": \"array\","]
3932 #[doc = " \"items\": {"]
3933 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
3934 #[doc = " }"]
3935 #[doc = " },"]
3936 #[doc = " \"stake\": {"]
3937 #[doc = " \"type\": \"string\""]
3938 #[doc = " }"]
3939 #[doc = " }"]
3940 #[doc = "}"]
3941 #[doc = r" ```"]
3942 #[doc = r" </details>"]
3943 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
3944 pub struct CurrentEpochValidatorInfo {
3945 pub account_id: AccountId,
3946 pub is_slashed: bool,
3947 pub num_expected_blocks: u64,
3948 #[serde(default)]
3949 pub num_expected_chunks: u64,
3950 #[doc = "Number of chunks this validator was expected to produce in each shard.\n Each entry in the array corresponds to the shard in the `shards_produced` array."]
3951 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
3952 pub num_expected_chunks_per_shard: ::std::vec::Vec<u64>,
3953 #[serde(default)]
3954 pub num_expected_endorsements: u64,
3955 #[doc = "Number of chunks this validator was expected to validate and endorse in each shard.\n Each entry in the array corresponds to the shard in the `shards_endorsed` array."]
3956 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
3957 pub num_expected_endorsements_per_shard: ::std::vec::Vec<u64>,
3958 pub num_produced_blocks: u64,
3959 #[serde(default)]
3960 pub num_produced_chunks: u64,
3961 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
3962 pub num_produced_chunks_per_shard: ::std::vec::Vec<u64>,
3963 #[serde(default)]
3964 pub num_produced_endorsements: u64,
3965 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
3966 pub num_produced_endorsements_per_shard: ::std::vec::Vec<u64>,
3967 pub public_key: PublicKey,
3968 #[doc = "Shards this validator is assigned to as chunk producer in the current epoch."]
3969 pub shards: ::std::vec::Vec<ShardId>,
3970 #[doc = "Shards this validator is assigned to as chunk validator in the current epoch."]
3971 pub shards_endorsed: ::std::vec::Vec<ShardId>,
3972 pub stake: ::std::string::String,
3973 }
3974 impl ::std::convert::From<&CurrentEpochValidatorInfo> for CurrentEpochValidatorInfo {
3975 fn from(value: &CurrentEpochValidatorInfo) -> Self {
3976 value.clone()
3977 }
3978 }
3979 #[doc = "`DataReceiptCreationConfigView`"]
3980 #[doc = r""]
3981 #[doc = r" <details><summary>JSON schema</summary>"]
3982 #[doc = r""]
3983 #[doc = r" ```json"]
3984 #[doc = "{"]
3985 #[doc = " \"type\": \"object\","]
3986 #[doc = " \"required\": ["]
3987 #[doc = " \"base_cost\","]
3988 #[doc = " \"cost_per_byte\""]
3989 #[doc = " ],"]
3990 #[doc = " \"properties\": {"]
3991 #[doc = " \"base_cost\": {"]
3992 #[doc = " \"description\": \"Base cost of creating a data receipt.\\n Both `send` and `exec` costs are burned when a new receipt has input dependencies. The gas\\n is charged for each input dependency. The dependencies are specified when a receipt is\\n created using `promise_then` and `promise_batch_then`.\\n NOTE: Any receipt with output dependencies will produce data receipts. Even if it fails.\\n Even if the last action is not a function call (in case of success it will return empty\\n value).\","]
3993 #[doc = " \"allOf\": ["]
3994 #[doc = " {"]
3995 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
3996 #[doc = " }"]
3997 #[doc = " ]"]
3998 #[doc = " },"]
3999 #[doc = " \"cost_per_byte\": {"]
4000 #[doc = " \"description\": \"Additional cost per byte sent.\\n Both `send` and `exec` costs are burned when a function call finishes execution and returns\\n `N` bytes of data to every output dependency. For each output dependency the cost is\\n `(send(sir) + exec()) * N`.\","]
4001 #[doc = " \"allOf\": ["]
4002 #[doc = " {"]
4003 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
4004 #[doc = " }"]
4005 #[doc = " ]"]
4006 #[doc = " }"]
4007 #[doc = " }"]
4008 #[doc = "}"]
4009 #[doc = r" ```"]
4010 #[doc = r" </details>"]
4011 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4012 pub struct DataReceiptCreationConfigView {
4013 #[doc = "Base cost of creating a data receipt.\n Both `send` and `exec` costs are burned when a new receipt has input dependencies. The gas\n is charged for each input dependency. The dependencies are specified when a receipt is\n created using `promise_then` and `promise_batch_then`.\n NOTE: Any receipt with output dependencies will produce data receipts. Even if it fails.\n Even if the last action is not a function call (in case of success it will return empty\n value)."]
4014 pub base_cost: Fee,
4015 #[doc = "Additional cost per byte sent.\n Both `send` and `exec` costs are burned when a function call finishes execution and returns\n `N` bytes of data to every output dependency. For each output dependency the cost is\n `(send(sir) + exec()) * N`."]
4016 pub cost_per_byte: Fee,
4017 }
4018 impl ::std::convert::From<&DataReceiptCreationConfigView> for DataReceiptCreationConfigView {
4019 fn from(value: &DataReceiptCreationConfigView) -> Self {
4020 value.clone()
4021 }
4022 }
4023 #[doc = "`DataReceiverView`"]
4024 #[doc = r""]
4025 #[doc = r" <details><summary>JSON schema</summary>"]
4026 #[doc = r""]
4027 #[doc = r" ```json"]
4028 #[doc = "{"]
4029 #[doc = " \"type\": \"object\","]
4030 #[doc = " \"required\": ["]
4031 #[doc = " \"data_id\","]
4032 #[doc = " \"receiver_id\""]
4033 #[doc = " ],"]
4034 #[doc = " \"properties\": {"]
4035 #[doc = " \"data_id\": {"]
4036 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
4037 #[doc = " },"]
4038 #[doc = " \"receiver_id\": {"]
4039 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
4040 #[doc = " }"]
4041 #[doc = " }"]
4042 #[doc = "}"]
4043 #[doc = r" ```"]
4044 #[doc = r" </details>"]
4045 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4046 pub struct DataReceiverView {
4047 pub data_id: CryptoHash,
4048 pub receiver_id: AccountId,
4049 }
4050 impl ::std::convert::From<&DataReceiverView> for DataReceiverView {
4051 fn from(value: &DataReceiverView) -> Self {
4052 value.clone()
4053 }
4054 }
4055 #[doc = "This action allows to execute the inner actions behalf of the defined sender."]
4056 #[doc = r""]
4057 #[doc = r" <details><summary>JSON schema</summary>"]
4058 #[doc = r""]
4059 #[doc = r" ```json"]
4060 #[doc = "{"]
4061 #[doc = " \"description\": \"This action allows to execute the inner actions behalf of the defined sender.\","]
4062 #[doc = " \"type\": \"object\","]
4063 #[doc = " \"required\": ["]
4064 #[doc = " \"actions\","]
4065 #[doc = " \"max_block_height\","]
4066 #[doc = " \"nonce\","]
4067 #[doc = " \"public_key\","]
4068 #[doc = " \"receiver_id\","]
4069 #[doc = " \"sender_id\""]
4070 #[doc = " ],"]
4071 #[doc = " \"properties\": {"]
4072 #[doc = " \"actions\": {"]
4073 #[doc = " \"description\": \"List of actions to be executed.\\n\\n With the meta transactions MVP defined in NEP-366, nested\\n DelegateActions are not allowed. A separate type is used to enforce it.\","]
4074 #[doc = " \"type\": \"array\","]
4075 #[doc = " \"items\": {"]
4076 #[doc = " \"$ref\": \"#/components/schemas/NonDelegateAction\""]
4077 #[doc = " }"]
4078 #[doc = " },"]
4079 #[doc = " \"max_block_height\": {"]
4080 #[doc = " \"description\": \"The maximal height of the block in the blockchain below which the given DelegateAction is valid.\","]
4081 #[doc = " \"type\": \"integer\","]
4082 #[doc = " \"format\": \"uint64\","]
4083 #[doc = " \"minimum\": 0.0"]
4084 #[doc = " },"]
4085 #[doc = " \"nonce\": {"]
4086 #[doc = " \"description\": \"Nonce to ensure that the same delegate action is not sent twice by a\\n relayer and should match for given account's `public_key`.\\n After this action is processed it will increment.\","]
4087 #[doc = " \"type\": \"integer\","]
4088 #[doc = " \"format\": \"uint64\","]
4089 #[doc = " \"minimum\": 0.0"]
4090 #[doc = " },"]
4091 #[doc = " \"public_key\": {"]
4092 #[doc = " \"description\": \"Public key used to sign this delegated action.\","]
4093 #[doc = " \"allOf\": ["]
4094 #[doc = " {"]
4095 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
4096 #[doc = " }"]
4097 #[doc = " ]"]
4098 #[doc = " },"]
4099 #[doc = " \"receiver_id\": {"]
4100 #[doc = " \"description\": \"Receiver of the delegated actions.\","]
4101 #[doc = " \"allOf\": ["]
4102 #[doc = " {"]
4103 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
4104 #[doc = " }"]
4105 #[doc = " ]"]
4106 #[doc = " },"]
4107 #[doc = " \"sender_id\": {"]
4108 #[doc = " \"description\": \"Signer of the delegated actions\","]
4109 #[doc = " \"allOf\": ["]
4110 #[doc = " {"]
4111 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
4112 #[doc = " }"]
4113 #[doc = " ]"]
4114 #[doc = " }"]
4115 #[doc = " }"]
4116 #[doc = "}"]
4117 #[doc = r" ```"]
4118 #[doc = r" </details>"]
4119 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4120 pub struct DelegateAction {
4121 #[doc = "List of actions to be executed.\n\n With the meta transactions MVP defined in NEP-366, nested\n DelegateActions are not allowed. A separate type is used to enforce it."]
4122 pub actions: ::std::vec::Vec<NonDelegateAction>,
4123 #[doc = "The maximal height of the block in the blockchain below which the given DelegateAction is valid."]
4124 pub max_block_height: u64,
4125 #[doc = "Nonce to ensure that the same delegate action is not sent twice by a\n relayer and should match for given account's `public_key`.\n After this action is processed it will increment."]
4126 pub nonce: u64,
4127 #[doc = "Public key used to sign this delegated action."]
4128 pub public_key: PublicKey,
4129 #[doc = "Receiver of the delegated actions."]
4130 pub receiver_id: AccountId,
4131 #[doc = "Signer of the delegated actions"]
4132 pub sender_id: AccountId,
4133 }
4134 impl ::std::convert::From<&DelegateAction> for DelegateAction {
4135 fn from(value: &DelegateAction) -> Self {
4136 value.clone()
4137 }
4138 }
4139 #[doc = "`DeleteAccountAction`"]
4140 #[doc = r""]
4141 #[doc = r" <details><summary>JSON schema</summary>"]
4142 #[doc = r""]
4143 #[doc = r" ```json"]
4144 #[doc = "{"]
4145 #[doc = " \"type\": \"object\","]
4146 #[doc = " \"required\": ["]
4147 #[doc = " \"beneficiary_id\""]
4148 #[doc = " ],"]
4149 #[doc = " \"properties\": {"]
4150 #[doc = " \"beneficiary_id\": {"]
4151 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
4152 #[doc = " }"]
4153 #[doc = " }"]
4154 #[doc = "}"]
4155 #[doc = r" ```"]
4156 #[doc = r" </details>"]
4157 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4158 pub struct DeleteAccountAction {
4159 pub beneficiary_id: AccountId,
4160 }
4161 impl ::std::convert::From<&DeleteAccountAction> for DeleteAccountAction {
4162 fn from(value: &DeleteAccountAction) -> Self {
4163 value.clone()
4164 }
4165 }
4166 #[doc = "`DeleteKeyAction`"]
4167 #[doc = r""]
4168 #[doc = r" <details><summary>JSON schema</summary>"]
4169 #[doc = r""]
4170 #[doc = r" ```json"]
4171 #[doc = "{"]
4172 #[doc = " \"type\": \"object\","]
4173 #[doc = " \"required\": ["]
4174 #[doc = " \"public_key\""]
4175 #[doc = " ],"]
4176 #[doc = " \"properties\": {"]
4177 #[doc = " \"public_key\": {"]
4178 #[doc = " \"description\": \"A public key associated with the access_key to be deleted.\","]
4179 #[doc = " \"allOf\": ["]
4180 #[doc = " {"]
4181 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
4182 #[doc = " }"]
4183 #[doc = " ]"]
4184 #[doc = " }"]
4185 #[doc = " }"]
4186 #[doc = "}"]
4187 #[doc = r" ```"]
4188 #[doc = r" </details>"]
4189 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4190 pub struct DeleteKeyAction {
4191 #[doc = "A public key associated with the access_key to be deleted."]
4192 pub public_key: PublicKey,
4193 }
4194 impl ::std::convert::From<&DeleteKeyAction> for DeleteKeyAction {
4195 fn from(value: &DeleteKeyAction) -> Self {
4196 value.clone()
4197 }
4198 }
4199 #[doc = "Deploy contract action"]
4200 #[doc = r""]
4201 #[doc = r" <details><summary>JSON schema</summary>"]
4202 #[doc = r""]
4203 #[doc = r" ```json"]
4204 #[doc = "{"]
4205 #[doc = " \"description\": \"Deploy contract action\","]
4206 #[doc = " \"type\": \"object\","]
4207 #[doc = " \"required\": ["]
4208 #[doc = " \"code\""]
4209 #[doc = " ],"]
4210 #[doc = " \"properties\": {"]
4211 #[doc = " \"code\": {"]
4212 #[doc = " \"description\": \"WebAssembly binary\","]
4213 #[doc = " \"type\": \"string\""]
4214 #[doc = " }"]
4215 #[doc = " }"]
4216 #[doc = "}"]
4217 #[doc = r" ```"]
4218 #[doc = r" </details>"]
4219 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4220 pub struct DeployContractAction {
4221 #[doc = "WebAssembly binary"]
4222 pub code: ::std::string::String,
4223 }
4224 impl ::std::convert::From<&DeployContractAction> for DeployContractAction {
4225 fn from(value: &DeployContractAction) -> Self {
4226 value.clone()
4227 }
4228 }
4229 #[doc = "Deploy global contract action"]
4230 #[doc = r""]
4231 #[doc = r" <details><summary>JSON schema</summary>"]
4232 #[doc = r""]
4233 #[doc = r" ```json"]
4234 #[doc = "{"]
4235 #[doc = " \"description\": \"Deploy global contract action\","]
4236 #[doc = " \"type\": \"object\","]
4237 #[doc = " \"required\": ["]
4238 #[doc = " \"code\","]
4239 #[doc = " \"deploy_mode\""]
4240 #[doc = " ],"]
4241 #[doc = " \"properties\": {"]
4242 #[doc = " \"code\": {"]
4243 #[doc = " \"description\": \"WebAssembly binary\","]
4244 #[doc = " \"type\": \"string\""]
4245 #[doc = " },"]
4246 #[doc = " \"deploy_mode\": {"]
4247 #[doc = " \"$ref\": \"#/components/schemas/GlobalContractDeployMode\""]
4248 #[doc = " }"]
4249 #[doc = " }"]
4250 #[doc = "}"]
4251 #[doc = r" ```"]
4252 #[doc = r" </details>"]
4253 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4254 pub struct DeployGlobalContractAction {
4255 #[doc = "WebAssembly binary"]
4256 pub code: ::std::string::String,
4257 pub deploy_mode: GlobalContractDeployMode,
4258 }
4259 impl ::std::convert::From<&DeployGlobalContractAction> for DeployGlobalContractAction {
4260 fn from(value: &DeployGlobalContractAction) -> Self {
4261 value.clone()
4262 }
4263 }
4264 #[doc = "`DetailedDebugStatus`"]
4265 #[doc = r""]
4266 #[doc = r" <details><summary>JSON schema</summary>"]
4267 #[doc = r""]
4268 #[doc = r" ```json"]
4269 #[doc = "{"]
4270 #[doc = " \"type\": \"object\","]
4271 #[doc = " \"required\": ["]
4272 #[doc = " \"block_production_delay_millis\","]
4273 #[doc = " \"catchup_status\","]
4274 #[doc = " \"current_head_status\","]
4275 #[doc = " \"current_header_head_status\","]
4276 #[doc = " \"network_info\","]
4277 #[doc = " \"sync_status\""]
4278 #[doc = " ],"]
4279 #[doc = " \"properties\": {"]
4280 #[doc = " \"block_production_delay_millis\": {"]
4281 #[doc = " \"type\": \"integer\","]
4282 #[doc = " \"format\": \"uint64\","]
4283 #[doc = " \"minimum\": 0.0"]
4284 #[doc = " },"]
4285 #[doc = " \"catchup_status\": {"]
4286 #[doc = " \"type\": \"array\","]
4287 #[doc = " \"items\": {"]
4288 #[doc = " \"$ref\": \"#/components/schemas/CatchupStatusView\""]
4289 #[doc = " }"]
4290 #[doc = " },"]
4291 #[doc = " \"current_head_status\": {"]
4292 #[doc = " \"$ref\": \"#/components/schemas/BlockStatusView\""]
4293 #[doc = " },"]
4294 #[doc = " \"current_header_head_status\": {"]
4295 #[doc = " \"$ref\": \"#/components/schemas/BlockStatusView\""]
4296 #[doc = " },"]
4297 #[doc = " \"network_info\": {"]
4298 #[doc = " \"$ref\": \"#/components/schemas/NetworkInfoView\""]
4299 #[doc = " },"]
4300 #[doc = " \"sync_status\": {"]
4301 #[doc = " \"type\": \"string\""]
4302 #[doc = " }"]
4303 #[doc = " }"]
4304 #[doc = "}"]
4305 #[doc = r" ```"]
4306 #[doc = r" </details>"]
4307 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4308 pub struct DetailedDebugStatus {
4309 pub block_production_delay_millis: u64,
4310 pub catchup_status: ::std::vec::Vec<CatchupStatusView>,
4311 pub current_head_status: BlockStatusView,
4312 pub current_header_head_status: BlockStatusView,
4313 pub network_info: NetworkInfoView,
4314 pub sync_status: ::std::string::String,
4315 }
4316 impl ::std::convert::From<&DetailedDebugStatus> for DetailedDebugStatus {
4317 fn from(value: &DetailedDebugStatus) -> Self {
4318 value.clone()
4319 }
4320 }
4321 #[doc = "`Direction`"]
4322 #[doc = r""]
4323 #[doc = r" <details><summary>JSON schema</summary>"]
4324 #[doc = r""]
4325 #[doc = r" ```json"]
4326 #[doc = "{"]
4327 #[doc = " \"type\": \"string\","]
4328 #[doc = " \"enum\": ["]
4329 #[doc = " \"Left\","]
4330 #[doc = " \"Right\""]
4331 #[doc = " ]"]
4332 #[doc = "}"]
4333 #[doc = r" ```"]
4334 #[doc = r" </details>"]
4335 #[derive(
4336 :: serde :: Deserialize,
4337 :: serde :: Serialize,
4338 Clone,
4339 Copy,
4340 Debug,
4341 Eq,
4342 Hash,
4343 Ord,
4344 PartialEq,
4345 PartialOrd,
4346 )]
4347 pub enum Direction {
4348 Left,
4349 Right,
4350 }
4351 impl ::std::convert::From<&Self> for Direction {
4352 fn from(value: &Direction) -> Self {
4353 value.clone()
4354 }
4355 }
4356 impl ::std::fmt::Display for Direction {
4357 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4358 match *self {
4359 Self::Left => write!(f, "Left"),
4360 Self::Right => write!(f, "Right"),
4361 }
4362 }
4363 }
4364 impl ::std::str::FromStr for Direction {
4365 type Err = self::error::ConversionError;
4366 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
4367 match value {
4368 "Left" => Ok(Self::Left),
4369 "Right" => Ok(Self::Right),
4370 _ => Err("invalid value".into()),
4371 }
4372 }
4373 }
4374 impl ::std::convert::TryFrom<&str> for Direction {
4375 type Error = self::error::ConversionError;
4376 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
4377 value.parse()
4378 }
4379 }
4380 impl ::std::convert::TryFrom<&::std::string::String> for Direction {
4381 type Error = self::error::ConversionError;
4382 fn try_from(
4383 value: &::std::string::String,
4384 ) -> ::std::result::Result<Self, self::error::ConversionError> {
4385 value.parse()
4386 }
4387 }
4388 impl ::std::convert::TryFrom<::std::string::String> for Direction {
4389 type Error = self::error::ConversionError;
4390 fn try_from(
4391 value: ::std::string::String,
4392 ) -> ::std::result::Result<Self, self::error::ConversionError> {
4393 value.parse()
4394 }
4395 }
4396 #[doc = "Configures how to dump state to external storage."]
4397 #[doc = r""]
4398 #[doc = r" <details><summary>JSON schema</summary>"]
4399 #[doc = r""]
4400 #[doc = r" ```json"]
4401 #[doc = "{"]
4402 #[doc = " \"description\": \"Configures how to dump state to external storage.\","]
4403 #[doc = " \"type\": \"object\","]
4404 #[doc = " \"required\": ["]
4405 #[doc = " \"location\""]
4406 #[doc = " ],"]
4407 #[doc = " \"properties\": {"]
4408 #[doc = " \"credentials_file\": {"]
4409 #[doc = " \"description\": \"Location of a json file with credentials allowing write access to the bucket.\","]
4410 #[doc = " \"type\": ["]
4411 #[doc = " \"string\","]
4412 #[doc = " \"null\""]
4413 #[doc = " ]"]
4414 #[doc = " },"]
4415 #[doc = " \"iteration_delay\": {"]
4416 #[doc = " \"description\": \"How often to check if a new epoch has started.\\n Feel free to set to `None`, defaults are sensible.\","]
4417 #[doc = " \"oneOf\": ["]
4418 #[doc = " {"]
4419 #[doc = " \"type\": \"null\""]
4420 #[doc = " },"]
4421 #[doc = " {"]
4422 #[doc = " \"allOf\": ["]
4423 #[doc = " {"]
4424 #[doc = " \"$ref\": \"#/components/schemas/DurationAsStdSchemaProvider\""]
4425 #[doc = " }"]
4426 #[doc = " ]"]
4427 #[doc = " }"]
4428 #[doc = " ]"]
4429 #[doc = " },"]
4430 #[doc = " \"location\": {"]
4431 #[doc = " \"description\": \"Specifies where to write the obtained state parts.\","]
4432 #[doc = " \"allOf\": ["]
4433 #[doc = " {"]
4434 #[doc = " \"$ref\": \"#/components/schemas/ExternalStorageLocation\""]
4435 #[doc = " }"]
4436 #[doc = " ]"]
4437 #[doc = " },"]
4438 #[doc = " \"restart_dump_for_shards\": {"]
4439 #[doc = " \"description\": \"Use in case a node that dumps state to the external storage\\n gets in trouble.\","]
4440 #[doc = " \"type\": ["]
4441 #[doc = " \"array\","]
4442 #[doc = " \"null\""]
4443 #[doc = " ],"]
4444 #[doc = " \"items\": {"]
4445 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
4446 #[doc = " }"]
4447 #[doc = " }"]
4448 #[doc = " }"]
4449 #[doc = "}"]
4450 #[doc = r" ```"]
4451 #[doc = r" </details>"]
4452 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4453 pub struct DumpConfig {
4454 #[doc = "Location of a json file with credentials allowing write access to the bucket."]
4455 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
4456 pub credentials_file: ::std::option::Option<::std::string::String>,
4457 #[doc = "How often to check if a new epoch has started.\n Feel free to set to `None`, defaults are sensible."]
4458 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
4459 pub iteration_delay: ::std::option::Option<DurationAsStdSchemaProvider>,
4460 #[doc = "Specifies where to write the obtained state parts."]
4461 pub location: ExternalStorageLocation,
4462 #[doc = "Use in case a node that dumps state to the external storage\n gets in trouble."]
4463 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
4464 pub restart_dump_for_shards: ::std::option::Option<::std::vec::Vec<ShardId>>,
4465 }
4466 impl ::std::convert::From<&DumpConfig> for DumpConfig {
4467 fn from(value: &DumpConfig) -> Self {
4468 value.clone()
4469 }
4470 }
4471 #[doc = "`DurationAsStdSchemaProvider`"]
4472 #[doc = r""]
4473 #[doc = r" <details><summary>JSON schema</summary>"]
4474 #[doc = r""]
4475 #[doc = r" ```json"]
4476 #[doc = "{"]
4477 #[doc = " \"type\": \"object\","]
4478 #[doc = " \"required\": ["]
4479 #[doc = " \"nanos\","]
4480 #[doc = " \"secs\""]
4481 #[doc = " ],"]
4482 #[doc = " \"properties\": {"]
4483 #[doc = " \"nanos\": {"]
4484 #[doc = " \"type\": \"integer\","]
4485 #[doc = " \"format\": \"int32\""]
4486 #[doc = " },"]
4487 #[doc = " \"secs\": {"]
4488 #[doc = " \"type\": \"integer\","]
4489 #[doc = " \"format\": \"int64\""]
4490 #[doc = " }"]
4491 #[doc = " }"]
4492 #[doc = "}"]
4493 #[doc = r" ```"]
4494 #[doc = r" </details>"]
4495 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4496 pub struct DurationAsStdSchemaProvider {
4497 pub nanos: i32,
4498 pub secs: i64,
4499 }
4500 impl ::std::convert::From<&DurationAsStdSchemaProvider> for DurationAsStdSchemaProvider {
4501 fn from(value: &DurationAsStdSchemaProvider) -> Self {
4502 value.clone()
4503 }
4504 }
4505 #[doc = "Epoch identifier -- wrapped hash, to make it easier to distinguish.\n EpochId of epoch T is the hash of last block in T-2\n EpochId of first two epochs is 0"]
4506 #[doc = r""]
4507 #[doc = r" <details><summary>JSON schema</summary>"]
4508 #[doc = r""]
4509 #[doc = r" ```json"]
4510 #[doc = "{"]
4511 #[doc = " \"description\": \"Epoch identifier -- wrapped hash, to make it easier to distinguish.\\n EpochId of epoch T is the hash of last block in T-2\\n EpochId of first two epochs is 0\","]
4512 #[doc = " \"allOf\": ["]
4513 #[doc = " {"]
4514 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
4515 #[doc = " }"]
4516 #[doc = " ]"]
4517 #[doc = "}"]
4518 #[doc = r" ```"]
4519 #[doc = r" </details>"]
4520 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4521 #[serde(transparent)]
4522 pub struct EpochId(pub CryptoHash);
4523 impl ::std::ops::Deref for EpochId {
4524 type Target = CryptoHash;
4525 fn deref(&self) -> &CryptoHash {
4526 &self.0
4527 }
4528 }
4529 impl ::std::convert::From<EpochId> for CryptoHash {
4530 fn from(value: EpochId) -> Self {
4531 value.0
4532 }
4533 }
4534 impl ::std::convert::From<&EpochId> for EpochId {
4535 fn from(value: &EpochId) -> Self {
4536 value.clone()
4537 }
4538 }
4539 impl ::std::convert::From<CryptoHash> for EpochId {
4540 fn from(value: CryptoHash) -> Self {
4541 Self(value)
4542 }
4543 }
4544 impl ::std::str::FromStr for EpochId {
4545 type Err = <CryptoHash as ::std::str::FromStr>::Err;
4546 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
4547 Ok(Self(value.parse()?))
4548 }
4549 }
4550 impl ::std::convert::TryFrom<&str> for EpochId {
4551 type Error = <CryptoHash as ::std::str::FromStr>::Err;
4552 fn try_from(value: &str) -> ::std::result::Result<Self, Self::Error> {
4553 value.parse()
4554 }
4555 }
4556 impl ::std::convert::TryFrom<&String> for EpochId {
4557 type Error = <CryptoHash as ::std::str::FromStr>::Err;
4558 fn try_from(value: &String) -> ::std::result::Result<Self, Self::Error> {
4559 value.parse()
4560 }
4561 }
4562 impl ::std::convert::TryFrom<String> for EpochId {
4563 type Error = <CryptoHash as ::std::str::FromStr>::Err;
4564 fn try_from(value: String) -> ::std::result::Result<Self, Self::Error> {
4565 value.parse()
4566 }
4567 }
4568 impl ::std::fmt::Display for EpochId {
4569 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4570 self.0.fmt(f)
4571 }
4572 }
4573 #[doc = "`EpochSyncConfig`"]
4574 #[doc = r""]
4575 #[doc = r" <details><summary>JSON schema</summary>"]
4576 #[doc = r""]
4577 #[doc = r" ```json"]
4578 #[doc = "{"]
4579 #[doc = " \"type\": \"object\","]
4580 #[doc = " \"required\": ["]
4581 #[doc = " \"epoch_sync_horizon\","]
4582 #[doc = " \"timeout_for_epoch_sync\""]
4583 #[doc = " ],"]
4584 #[doc = " \"properties\": {"]
4585 #[doc = " \"disable_epoch_sync_for_bootstrapping\": {"]
4586 #[doc = " \"description\": \"If true, even if the node started from genesis, it will not perform epoch sync.\\n There should be no reason to set this flag in production, because on both mainnet\\n and testnet it would be infeasible to catch up from genesis without epoch sync.\","]
4587 #[doc = " \"default\": false,"]
4588 #[doc = " \"type\": \"boolean\""]
4589 #[doc = " },"]
4590 #[doc = " \"epoch_sync_horizon\": {"]
4591 #[doc = " \"description\": \"This serves as two purposes: (1) the node will not epoch sync and instead resort to\\n header sync, if the genesis block is within this many blocks from the current block;\\n (2) the node will reject an epoch sync proof if the provided proof is for an epoch\\n that is more than this many blocks behind the current block.\","]
4592 #[doc = " \"type\": \"integer\","]
4593 #[doc = " \"format\": \"uint64\","]
4594 #[doc = " \"minimum\": 0.0"]
4595 #[doc = " },"]
4596 #[doc = " \"ignore_epoch_sync_network_requests\": {"]
4597 #[doc = " \"description\": \"If true, the node will ignore epoch sync requests from the network. It is strongly\\n recommended not to set this flag, because it will prevent other nodes from\\n bootstrapping. This flag is only included as a kill-switch and may be removed in a\\n future release. Please note that epoch sync requests are heavily rate limited and\\n cached, and therefore should not affect the performance of the node or introduce\\n any non-negligible increase in network traffic.\","]
4598 #[doc = " \"default\": false,"]
4599 #[doc = " \"type\": \"boolean\""]
4600 #[doc = " },"]
4601 #[doc = " \"timeout_for_epoch_sync\": {"]
4602 #[doc = " \"description\": \"Timeout for epoch sync requests. The node will continue retrying indefinitely even\\n if this timeout is exceeded.\","]
4603 #[doc = " \"allOf\": ["]
4604 #[doc = " {"]
4605 #[doc = " \"$ref\": \"#/components/schemas/DurationAsStdSchemaProvider\""]
4606 #[doc = " }"]
4607 #[doc = " ]"]
4608 #[doc = " }"]
4609 #[doc = " }"]
4610 #[doc = "}"]
4611 #[doc = r" ```"]
4612 #[doc = r" </details>"]
4613 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4614 pub struct EpochSyncConfig {
4615 #[doc = "If true, even if the node started from genesis, it will not perform epoch sync.\n There should be no reason to set this flag in production, because on both mainnet\n and testnet it would be infeasible to catch up from genesis without epoch sync."]
4616 #[serde(default)]
4617 pub disable_epoch_sync_for_bootstrapping: bool,
4618 #[doc = "This serves as two purposes: (1) the node will not epoch sync and instead resort to\n header sync, if the genesis block is within this many blocks from the current block;\n (2) the node will reject an epoch sync proof if the provided proof is for an epoch\n that is more than this many blocks behind the current block."]
4619 pub epoch_sync_horizon: u64,
4620 #[doc = "If true, the node will ignore epoch sync requests from the network. It is strongly\n recommended not to set this flag, because it will prevent other nodes from\n bootstrapping. This flag is only included as a kill-switch and may be removed in a\n future release. Please note that epoch sync requests are heavily rate limited and\n cached, and therefore should not affect the performance of the node or introduce\n any non-negligible increase in network traffic."]
4621 #[serde(default)]
4622 pub ignore_epoch_sync_network_requests: bool,
4623 #[doc = "Timeout for epoch sync requests. The node will continue retrying indefinitely even\n if this timeout is exceeded."]
4624 pub timeout_for_epoch_sync: DurationAsStdSchemaProvider,
4625 }
4626 impl ::std::convert::From<&EpochSyncConfig> for EpochSyncConfig {
4627 fn from(value: &EpochSyncConfig) -> Self {
4628 value.clone()
4629 }
4630 }
4631 #[doc = "`ExecutionMetadataView`"]
4632 #[doc = r""]
4633 #[doc = r" <details><summary>JSON schema</summary>"]
4634 #[doc = r""]
4635 #[doc = r" ```json"]
4636 #[doc = "{"]
4637 #[doc = " \"type\": \"object\","]
4638 #[doc = " \"required\": ["]
4639 #[doc = " \"version\""]
4640 #[doc = " ],"]
4641 #[doc = " \"properties\": {"]
4642 #[doc = " \"gas_profile\": {"]
4643 #[doc = " \"type\": ["]
4644 #[doc = " \"array\","]
4645 #[doc = " \"null\""]
4646 #[doc = " ],"]
4647 #[doc = " \"items\": {"]
4648 #[doc = " \"$ref\": \"#/components/schemas/CostGasUsed\""]
4649 #[doc = " }"]
4650 #[doc = " },"]
4651 #[doc = " \"version\": {"]
4652 #[doc = " \"type\": \"integer\","]
4653 #[doc = " \"format\": \"uint32\","]
4654 #[doc = " \"minimum\": 0.0"]
4655 #[doc = " }"]
4656 #[doc = " }"]
4657 #[doc = "}"]
4658 #[doc = r" ```"]
4659 #[doc = r" </details>"]
4660 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4661 pub struct ExecutionMetadataView {
4662 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
4663 pub gas_profile: ::std::option::Option<::std::vec::Vec<CostGasUsed>>,
4664 pub version: u32,
4665 }
4666 impl ::std::convert::From<&ExecutionMetadataView> for ExecutionMetadataView {
4667 fn from(value: &ExecutionMetadataView) -> Self {
4668 value.clone()
4669 }
4670 }
4671 #[doc = "`ExecutionOutcomeView`"]
4672 #[doc = r""]
4673 #[doc = r" <details><summary>JSON schema</summary>"]
4674 #[doc = r""]
4675 #[doc = r" ```json"]
4676 #[doc = "{"]
4677 #[doc = " \"type\": \"object\","]
4678 #[doc = " \"required\": ["]
4679 #[doc = " \"executor_id\","]
4680 #[doc = " \"gas_burnt\","]
4681 #[doc = " \"logs\","]
4682 #[doc = " \"receipt_ids\","]
4683 #[doc = " \"status\","]
4684 #[doc = " \"tokens_burnt\""]
4685 #[doc = " ],"]
4686 #[doc = " \"properties\": {"]
4687 #[doc = " \"executor_id\": {"]
4688 #[doc = " \"description\": \"The id of the account on which the execution happens. For transaction this is signer_id,\\n for receipt this is receiver_id.\","]
4689 #[doc = " \"allOf\": ["]
4690 #[doc = " {"]
4691 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
4692 #[doc = " }"]
4693 #[doc = " ]"]
4694 #[doc = " },"]
4695 #[doc = " \"gas_burnt\": {"]
4696 #[doc = " \"description\": \"The amount of the gas burnt by the given transaction or receipt.\","]
4697 #[doc = " \"type\": \"integer\","]
4698 #[doc = " \"format\": \"uint64\","]
4699 #[doc = " \"minimum\": 0.0"]
4700 #[doc = " },"]
4701 #[doc = " \"logs\": {"]
4702 #[doc = " \"description\": \"Logs from this transaction or receipt.\","]
4703 #[doc = " \"type\": \"array\","]
4704 #[doc = " \"items\": {"]
4705 #[doc = " \"type\": \"string\""]
4706 #[doc = " }"]
4707 #[doc = " },"]
4708 #[doc = " \"metadata\": {"]
4709 #[doc = " \"description\": \"Execution metadata, versioned\","]
4710 #[doc = " \"default\": {"]
4711 #[doc = " \"version\": 1"]
4712 #[doc = " },"]
4713 #[doc = " \"allOf\": ["]
4714 #[doc = " {"]
4715 #[doc = " \"$ref\": \"#/components/schemas/ExecutionMetadataView\""]
4716 #[doc = " }"]
4717 #[doc = " ]"]
4718 #[doc = " },"]
4719 #[doc = " \"receipt_ids\": {"]
4720 #[doc = " \"description\": \"Receipt IDs generated by this transaction or receipt.\","]
4721 #[doc = " \"type\": \"array\","]
4722 #[doc = " \"items\": {"]
4723 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
4724 #[doc = " }"]
4725 #[doc = " },"]
4726 #[doc = " \"status\": {"]
4727 #[doc = " \"description\": \"Execution status. Contains the result in case of successful execution.\","]
4728 #[doc = " \"allOf\": ["]
4729 #[doc = " {"]
4730 #[doc = " \"$ref\": \"#/components/schemas/ExecutionStatusView\""]
4731 #[doc = " }"]
4732 #[doc = " ]"]
4733 #[doc = " },"]
4734 #[doc = " \"tokens_burnt\": {"]
4735 #[doc = " \"description\": \"The amount of tokens burnt corresponding to the burnt gas amount.\\n This value doesn't always equal to the `gas_burnt` multiplied by the gas price, because\\n the prepaid gas price might be lower than the actual gas price and it creates a deficit.\\n `tokens_burnt` also contains the penalty subtracted from refunds, while\\n `gas_burnt` only contains the gas that we actually burn for the execution.\","]
4736 #[doc = " \"type\": \"string\""]
4737 #[doc = " }"]
4738 #[doc = " }"]
4739 #[doc = "}"]
4740 #[doc = r" ```"]
4741 #[doc = r" </details>"]
4742 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4743 pub struct ExecutionOutcomeView {
4744 #[doc = "The id of the account on which the execution happens. For transaction this is signer_id,\n for receipt this is receiver_id."]
4745 pub executor_id: AccountId,
4746 #[doc = "The amount of the gas burnt by the given transaction or receipt."]
4747 pub gas_burnt: u64,
4748 #[doc = "Logs from this transaction or receipt."]
4749 pub logs: ::std::vec::Vec<::std::string::String>,
4750 #[doc = "Execution metadata, versioned"]
4751 #[serde(default = "defaults::execution_outcome_view_metadata")]
4752 pub metadata: ExecutionMetadataView,
4753 #[doc = "Receipt IDs generated by this transaction or receipt."]
4754 pub receipt_ids: ::std::vec::Vec<CryptoHash>,
4755 #[doc = "Execution status. Contains the result in case of successful execution."]
4756 pub status: ExecutionStatusView,
4757 #[doc = "The amount of tokens burnt corresponding to the burnt gas amount.\n This value doesn't always equal to the `gas_burnt` multiplied by the gas price, because\n the prepaid gas price might be lower than the actual gas price and it creates a deficit.\n `tokens_burnt` also contains the penalty subtracted from refunds, while\n `gas_burnt` only contains the gas that we actually burn for the execution."]
4758 pub tokens_burnt: ::std::string::String,
4759 }
4760 impl ::std::convert::From<&ExecutionOutcomeView> for ExecutionOutcomeView {
4761 fn from(value: &ExecutionOutcomeView) -> Self {
4762 value.clone()
4763 }
4764 }
4765 #[doc = "`ExecutionOutcomeWithIdView`"]
4766 #[doc = r""]
4767 #[doc = r" <details><summary>JSON schema</summary>"]
4768 #[doc = r""]
4769 #[doc = r" ```json"]
4770 #[doc = "{"]
4771 #[doc = " \"type\": \"object\","]
4772 #[doc = " \"required\": ["]
4773 #[doc = " \"block_hash\","]
4774 #[doc = " \"id\","]
4775 #[doc = " \"outcome\","]
4776 #[doc = " \"proof\""]
4777 #[doc = " ],"]
4778 #[doc = " \"properties\": {"]
4779 #[doc = " \"block_hash\": {"]
4780 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
4781 #[doc = " },"]
4782 #[doc = " \"id\": {"]
4783 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
4784 #[doc = " },"]
4785 #[doc = " \"outcome\": {"]
4786 #[doc = " \"$ref\": \"#/components/schemas/ExecutionOutcomeView\""]
4787 #[doc = " },"]
4788 #[doc = " \"proof\": {"]
4789 #[doc = " \"type\": \"array\","]
4790 #[doc = " \"items\": {"]
4791 #[doc = " \"$ref\": \"#/components/schemas/MerklePathItem\""]
4792 #[doc = " }"]
4793 #[doc = " }"]
4794 #[doc = " }"]
4795 #[doc = "}"]
4796 #[doc = r" ```"]
4797 #[doc = r" </details>"]
4798 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4799 pub struct ExecutionOutcomeWithIdView {
4800 pub block_hash: CryptoHash,
4801 pub id: CryptoHash,
4802 pub outcome: ExecutionOutcomeView,
4803 pub proof: ::std::vec::Vec<MerklePathItem>,
4804 }
4805 impl ::std::convert::From<&ExecutionOutcomeWithIdView> for ExecutionOutcomeWithIdView {
4806 fn from(value: &ExecutionOutcomeWithIdView) -> Self {
4807 value.clone()
4808 }
4809 }
4810 #[doc = "`ExecutionStatusView`"]
4811 #[doc = r""]
4812 #[doc = r" <details><summary>JSON schema</summary>"]
4813 #[doc = r""]
4814 #[doc = r" ```json"]
4815 #[doc = "{"]
4816 #[doc = " \"oneOf\": ["]
4817 #[doc = " {"]
4818 #[doc = " \"description\": \"The execution is pending or unknown.\","]
4819 #[doc = " \"type\": \"string\","]
4820 #[doc = " \"enum\": ["]
4821 #[doc = " \"Unknown\""]
4822 #[doc = " ]"]
4823 #[doc = " },"]
4824 #[doc = " {"]
4825 #[doc = " \"description\": \"The execution has failed.\","]
4826 #[doc = " \"type\": \"object\","]
4827 #[doc = " \"required\": ["]
4828 #[doc = " \"Failure\""]
4829 #[doc = " ],"]
4830 #[doc = " \"properties\": {"]
4831 #[doc = " \"Failure\": {"]
4832 #[doc = " \"$ref\": \"#/components/schemas/TxExecutionError\""]
4833 #[doc = " }"]
4834 #[doc = " },"]
4835 #[doc = " \"additionalProperties\": false"]
4836 #[doc = " },"]
4837 #[doc = " {"]
4838 #[doc = " \"description\": \"The final action succeeded and returned some value or an empty vec encoded in base64.\","]
4839 #[doc = " \"type\": \"object\","]
4840 #[doc = " \"required\": ["]
4841 #[doc = " \"SuccessValue\""]
4842 #[doc = " ],"]
4843 #[doc = " \"properties\": {"]
4844 #[doc = " \"SuccessValue\": {"]
4845 #[doc = " \"type\": \"string\""]
4846 #[doc = " }"]
4847 #[doc = " },"]
4848 #[doc = " \"additionalProperties\": false"]
4849 #[doc = " },"]
4850 #[doc = " {"]
4851 #[doc = " \"description\": \"The final action of the receipt returned a promise or the signed transaction was converted\\n to a receipt. Contains the receipt_id of the generated receipt.\","]
4852 #[doc = " \"type\": \"object\","]
4853 #[doc = " \"required\": ["]
4854 #[doc = " \"SuccessReceiptId\""]
4855 #[doc = " ],"]
4856 #[doc = " \"properties\": {"]
4857 #[doc = " \"SuccessReceiptId\": {"]
4858 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
4859 #[doc = " }"]
4860 #[doc = " },"]
4861 #[doc = " \"additionalProperties\": false"]
4862 #[doc = " }"]
4863 #[doc = " ]"]
4864 #[doc = "}"]
4865 #[doc = r" ```"]
4866 #[doc = r" </details>"]
4867 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
4868 pub enum ExecutionStatusView {
4869 #[doc = "The execution is pending or unknown."]
4870 Unknown,
4871 #[doc = "The execution has failed."]
4872 Failure(TxExecutionError),
4873 #[doc = "The final action succeeded and returned some value or an empty vec encoded in base64."]
4874 SuccessValue(::std::string::String),
4875 #[doc = "The final action of the receipt returned a promise or the signed transaction was converted\n to a receipt. Contains the receipt_id of the generated receipt."]
4876 SuccessReceiptId(CryptoHash),
4877 }
4878 impl ::std::convert::From<&Self> for ExecutionStatusView {
4879 fn from(value: &ExecutionStatusView) -> Self {
4880 value.clone()
4881 }
4882 }
4883 impl ::std::convert::From<TxExecutionError> for ExecutionStatusView {
4884 fn from(value: TxExecutionError) -> Self {
4885 Self::Failure(value)
4886 }
4887 }
4888 impl ::std::convert::From<CryptoHash> for ExecutionStatusView {
4889 fn from(value: CryptoHash) -> Self {
4890 Self::SuccessReceiptId(value)
4891 }
4892 }
4893 #[doc = "Typed view of ExtCostsConfig to preserve JSON output field names in protocol\n config RPC output."]
4894 #[doc = r""]
4895 #[doc = r" <details><summary>JSON schema</summary>"]
4896 #[doc = r""]
4897 #[doc = r" ```json"]
4898 #[doc = "{"]
4899 #[doc = " \"description\": \"Typed view of ExtCostsConfig to preserve JSON output field names in protocol\\n config RPC output.\","]
4900 #[doc = " \"type\": \"object\","]
4901 #[doc = " \"required\": ["]
4902 #[doc = " \"alt_bn128_g1_multiexp_base\","]
4903 #[doc = " \"alt_bn128_g1_multiexp_element\","]
4904 #[doc = " \"alt_bn128_g1_sum_base\","]
4905 #[doc = " \"alt_bn128_g1_sum_element\","]
4906 #[doc = " \"alt_bn128_pairing_check_base\","]
4907 #[doc = " \"alt_bn128_pairing_check_element\","]
4908 #[doc = " \"base\","]
4909 #[doc = " \"bls12381_g1_multiexp_base\","]
4910 #[doc = " \"bls12381_g1_multiexp_element\","]
4911 #[doc = " \"bls12381_g2_multiexp_base\","]
4912 #[doc = " \"bls12381_g2_multiexp_element\","]
4913 #[doc = " \"bls12381_map_fp2_to_g2_base\","]
4914 #[doc = " \"bls12381_map_fp2_to_g2_element\","]
4915 #[doc = " \"bls12381_map_fp_to_g1_base\","]
4916 #[doc = " \"bls12381_map_fp_to_g1_element\","]
4917 #[doc = " \"bls12381_p1_decompress_base\","]
4918 #[doc = " \"bls12381_p1_decompress_element\","]
4919 #[doc = " \"bls12381_p1_sum_base\","]
4920 #[doc = " \"bls12381_p1_sum_element\","]
4921 #[doc = " \"bls12381_p2_decompress_base\","]
4922 #[doc = " \"bls12381_p2_decompress_element\","]
4923 #[doc = " \"bls12381_p2_sum_base\","]
4924 #[doc = " \"bls12381_p2_sum_element\","]
4925 #[doc = " \"bls12381_pairing_base\","]
4926 #[doc = " \"bls12381_pairing_element\","]
4927 #[doc = " \"contract_compile_base\","]
4928 #[doc = " \"contract_compile_bytes\","]
4929 #[doc = " \"contract_loading_base\","]
4930 #[doc = " \"contract_loading_bytes\","]
4931 #[doc = " \"ecrecover_base\","]
4932 #[doc = " \"ed25519_verify_base\","]
4933 #[doc = " \"ed25519_verify_byte\","]
4934 #[doc = " \"keccak256_base\","]
4935 #[doc = " \"keccak256_byte\","]
4936 #[doc = " \"keccak512_base\","]
4937 #[doc = " \"keccak512_byte\","]
4938 #[doc = " \"log_base\","]
4939 #[doc = " \"log_byte\","]
4940 #[doc = " \"promise_and_base\","]
4941 #[doc = " \"promise_and_per_promise\","]
4942 #[doc = " \"promise_return\","]
4943 #[doc = " \"read_cached_trie_node\","]
4944 #[doc = " \"read_memory_base\","]
4945 #[doc = " \"read_memory_byte\","]
4946 #[doc = " \"read_register_base\","]
4947 #[doc = " \"read_register_byte\","]
4948 #[doc = " \"ripemd160_base\","]
4949 #[doc = " \"ripemd160_block\","]
4950 #[doc = " \"sha256_base\","]
4951 #[doc = " \"sha256_byte\","]
4952 #[doc = " \"storage_has_key_base\","]
4953 #[doc = " \"storage_has_key_byte\","]
4954 #[doc = " \"storage_iter_create_from_byte\","]
4955 #[doc = " \"storage_iter_create_prefix_base\","]
4956 #[doc = " \"storage_iter_create_prefix_byte\","]
4957 #[doc = " \"storage_iter_create_range_base\","]
4958 #[doc = " \"storage_iter_create_to_byte\","]
4959 #[doc = " \"storage_iter_next_base\","]
4960 #[doc = " \"storage_iter_next_key_byte\","]
4961 #[doc = " \"storage_iter_next_value_byte\","]
4962 #[doc = " \"storage_large_read_overhead_base\","]
4963 #[doc = " \"storage_large_read_overhead_byte\","]
4964 #[doc = " \"storage_read_base\","]
4965 #[doc = " \"storage_read_key_byte\","]
4966 #[doc = " \"storage_read_value_byte\","]
4967 #[doc = " \"storage_remove_base\","]
4968 #[doc = " \"storage_remove_key_byte\","]
4969 #[doc = " \"storage_remove_ret_value_byte\","]
4970 #[doc = " \"storage_write_base\","]
4971 #[doc = " \"storage_write_evicted_byte\","]
4972 #[doc = " \"storage_write_key_byte\","]
4973 #[doc = " \"storage_write_value_byte\","]
4974 #[doc = " \"touching_trie_node\","]
4975 #[doc = " \"utf16_decoding_base\","]
4976 #[doc = " \"utf16_decoding_byte\","]
4977 #[doc = " \"utf8_decoding_base\","]
4978 #[doc = " \"utf8_decoding_byte\","]
4979 #[doc = " \"validator_stake_base\","]
4980 #[doc = " \"validator_total_stake_base\","]
4981 #[doc = " \"write_memory_base\","]
4982 #[doc = " \"write_memory_byte\","]
4983 #[doc = " \"write_register_base\","]
4984 #[doc = " \"write_register_byte\","]
4985 #[doc = " \"yield_create_base\","]
4986 #[doc = " \"yield_create_byte\","]
4987 #[doc = " \"yield_resume_base\","]
4988 #[doc = " \"yield_resume_byte\""]
4989 #[doc = " ],"]
4990 #[doc = " \"properties\": {"]
4991 #[doc = " \"alt_bn128_g1_multiexp_base\": {"]
4992 #[doc = " \"description\": \"Base cost for multiexp\","]
4993 #[doc = " \"type\": \"integer\","]
4994 #[doc = " \"format\": \"uint64\","]
4995 #[doc = " \"minimum\": 0.0"]
4996 #[doc = " },"]
4997 #[doc = " \"alt_bn128_g1_multiexp_element\": {"]
4998 #[doc = " \"description\": \"Per element cost for multiexp\","]
4999 #[doc = " \"type\": \"integer\","]
5000 #[doc = " \"format\": \"uint64\","]
5001 #[doc = " \"minimum\": 0.0"]
5002 #[doc = " },"]
5003 #[doc = " \"alt_bn128_g1_sum_base\": {"]
5004 #[doc = " \"description\": \"Base cost for sum\","]
5005 #[doc = " \"type\": \"integer\","]
5006 #[doc = " \"format\": \"uint64\","]
5007 #[doc = " \"minimum\": 0.0"]
5008 #[doc = " },"]
5009 #[doc = " \"alt_bn128_g1_sum_element\": {"]
5010 #[doc = " \"description\": \"Per element cost for sum\","]
5011 #[doc = " \"type\": \"integer\","]
5012 #[doc = " \"format\": \"uint64\","]
5013 #[doc = " \"minimum\": 0.0"]
5014 #[doc = " },"]
5015 #[doc = " \"alt_bn128_pairing_check_base\": {"]
5016 #[doc = " \"description\": \"Base cost for pairing check\","]
5017 #[doc = " \"type\": \"integer\","]
5018 #[doc = " \"format\": \"uint64\","]
5019 #[doc = " \"minimum\": 0.0"]
5020 #[doc = " },"]
5021 #[doc = " \"alt_bn128_pairing_check_element\": {"]
5022 #[doc = " \"description\": \"Per element cost for pairing check\","]
5023 #[doc = " \"type\": \"integer\","]
5024 #[doc = " \"format\": \"uint64\","]
5025 #[doc = " \"minimum\": 0.0"]
5026 #[doc = " },"]
5027 #[doc = " \"base\": {"]
5028 #[doc = " \"description\": \"Base cost for calling a host function.\","]
5029 #[doc = " \"type\": \"integer\","]
5030 #[doc = " \"format\": \"uint64\","]
5031 #[doc = " \"minimum\": 0.0"]
5032 #[doc = " },"]
5033 #[doc = " \"bls12381_g1_multiexp_base\": {"]
5034 #[doc = " \"type\": \"integer\","]
5035 #[doc = " \"format\": \"uint64\","]
5036 #[doc = " \"minimum\": 0.0"]
5037 #[doc = " },"]
5038 #[doc = " \"bls12381_g1_multiexp_element\": {"]
5039 #[doc = " \"type\": \"integer\","]
5040 #[doc = " \"format\": \"uint64\","]
5041 #[doc = " \"minimum\": 0.0"]
5042 #[doc = " },"]
5043 #[doc = " \"bls12381_g2_multiexp_base\": {"]
5044 #[doc = " \"type\": \"integer\","]
5045 #[doc = " \"format\": \"uint64\","]
5046 #[doc = " \"minimum\": 0.0"]
5047 #[doc = " },"]
5048 #[doc = " \"bls12381_g2_multiexp_element\": {"]
5049 #[doc = " \"type\": \"integer\","]
5050 #[doc = " \"format\": \"uint64\","]
5051 #[doc = " \"minimum\": 0.0"]
5052 #[doc = " },"]
5053 #[doc = " \"bls12381_map_fp2_to_g2_base\": {"]
5054 #[doc = " \"type\": \"integer\","]
5055 #[doc = " \"format\": \"uint64\","]
5056 #[doc = " \"minimum\": 0.0"]
5057 #[doc = " },"]
5058 #[doc = " \"bls12381_map_fp2_to_g2_element\": {"]
5059 #[doc = " \"type\": \"integer\","]
5060 #[doc = " \"format\": \"uint64\","]
5061 #[doc = " \"minimum\": 0.0"]
5062 #[doc = " },"]
5063 #[doc = " \"bls12381_map_fp_to_g1_base\": {"]
5064 #[doc = " \"type\": \"integer\","]
5065 #[doc = " \"format\": \"uint64\","]
5066 #[doc = " \"minimum\": 0.0"]
5067 #[doc = " },"]
5068 #[doc = " \"bls12381_map_fp_to_g1_element\": {"]
5069 #[doc = " \"type\": \"integer\","]
5070 #[doc = " \"format\": \"uint64\","]
5071 #[doc = " \"minimum\": 0.0"]
5072 #[doc = " },"]
5073 #[doc = " \"bls12381_p1_decompress_base\": {"]
5074 #[doc = " \"type\": \"integer\","]
5075 #[doc = " \"format\": \"uint64\","]
5076 #[doc = " \"minimum\": 0.0"]
5077 #[doc = " },"]
5078 #[doc = " \"bls12381_p1_decompress_element\": {"]
5079 #[doc = " \"type\": \"integer\","]
5080 #[doc = " \"format\": \"uint64\","]
5081 #[doc = " \"minimum\": 0.0"]
5082 #[doc = " },"]
5083 #[doc = " \"bls12381_p1_sum_base\": {"]
5084 #[doc = " \"type\": \"integer\","]
5085 #[doc = " \"format\": \"uint64\","]
5086 #[doc = " \"minimum\": 0.0"]
5087 #[doc = " },"]
5088 #[doc = " \"bls12381_p1_sum_element\": {"]
5089 #[doc = " \"type\": \"integer\","]
5090 #[doc = " \"format\": \"uint64\","]
5091 #[doc = " \"minimum\": 0.0"]
5092 #[doc = " },"]
5093 #[doc = " \"bls12381_p2_decompress_base\": {"]
5094 #[doc = " \"type\": \"integer\","]
5095 #[doc = " \"format\": \"uint64\","]
5096 #[doc = " \"minimum\": 0.0"]
5097 #[doc = " },"]
5098 #[doc = " \"bls12381_p2_decompress_element\": {"]
5099 #[doc = " \"type\": \"integer\","]
5100 #[doc = " \"format\": \"uint64\","]
5101 #[doc = " \"minimum\": 0.0"]
5102 #[doc = " },"]
5103 #[doc = " \"bls12381_p2_sum_base\": {"]
5104 #[doc = " \"type\": \"integer\","]
5105 #[doc = " \"format\": \"uint64\","]
5106 #[doc = " \"minimum\": 0.0"]
5107 #[doc = " },"]
5108 #[doc = " \"bls12381_p2_sum_element\": {"]
5109 #[doc = " \"type\": \"integer\","]
5110 #[doc = " \"format\": \"uint64\","]
5111 #[doc = " \"minimum\": 0.0"]
5112 #[doc = " },"]
5113 #[doc = " \"bls12381_pairing_base\": {"]
5114 #[doc = " \"type\": \"integer\","]
5115 #[doc = " \"format\": \"uint64\","]
5116 #[doc = " \"minimum\": 0.0"]
5117 #[doc = " },"]
5118 #[doc = " \"bls12381_pairing_element\": {"]
5119 #[doc = " \"type\": \"integer\","]
5120 #[doc = " \"format\": \"uint64\","]
5121 #[doc = " \"minimum\": 0.0"]
5122 #[doc = " },"]
5123 #[doc = " \"contract_compile_base\": {"]
5124 #[doc = " \"type\": \"integer\","]
5125 #[doc = " \"format\": \"uint64\","]
5126 #[doc = " \"minimum\": 0.0"]
5127 #[doc = " },"]
5128 #[doc = " \"contract_compile_bytes\": {"]
5129 #[doc = " \"type\": \"integer\","]
5130 #[doc = " \"format\": \"uint64\","]
5131 #[doc = " \"minimum\": 0.0"]
5132 #[doc = " },"]
5133 #[doc = " \"contract_loading_base\": {"]
5134 #[doc = " \"description\": \"Base cost of loading a pre-compiled contract\","]
5135 #[doc = " \"type\": \"integer\","]
5136 #[doc = " \"format\": \"uint64\","]
5137 #[doc = " \"minimum\": 0.0"]
5138 #[doc = " },"]
5139 #[doc = " \"contract_loading_bytes\": {"]
5140 #[doc = " \"description\": \"Cost per byte of loading a pre-compiled contract\","]
5141 #[doc = " \"type\": \"integer\","]
5142 #[doc = " \"format\": \"uint64\","]
5143 #[doc = " \"minimum\": 0.0"]
5144 #[doc = " },"]
5145 #[doc = " \"ecrecover_base\": {"]
5146 #[doc = " \"description\": \"Cost of calling ecrecover\","]
5147 #[doc = " \"type\": \"integer\","]
5148 #[doc = " \"format\": \"uint64\","]
5149 #[doc = " \"minimum\": 0.0"]
5150 #[doc = " },"]
5151 #[doc = " \"ed25519_verify_base\": {"]
5152 #[doc = " \"description\": \"Cost of getting ed25519 base\","]
5153 #[doc = " \"type\": \"integer\","]
5154 #[doc = " \"format\": \"uint64\","]
5155 #[doc = " \"minimum\": 0.0"]
5156 #[doc = " },"]
5157 #[doc = " \"ed25519_verify_byte\": {"]
5158 #[doc = " \"description\": \"Cost of getting ed25519 per byte\","]
5159 #[doc = " \"type\": \"integer\","]
5160 #[doc = " \"format\": \"uint64\","]
5161 #[doc = " \"minimum\": 0.0"]
5162 #[doc = " },"]
5163 #[doc = " \"keccak256_base\": {"]
5164 #[doc = " \"description\": \"Cost of getting sha256 base\","]
5165 #[doc = " \"type\": \"integer\","]
5166 #[doc = " \"format\": \"uint64\","]
5167 #[doc = " \"minimum\": 0.0"]
5168 #[doc = " },"]
5169 #[doc = " \"keccak256_byte\": {"]
5170 #[doc = " \"description\": \"Cost of getting sha256 per byte\","]
5171 #[doc = " \"type\": \"integer\","]
5172 #[doc = " \"format\": \"uint64\","]
5173 #[doc = " \"minimum\": 0.0"]
5174 #[doc = " },"]
5175 #[doc = " \"keccak512_base\": {"]
5176 #[doc = " \"description\": \"Cost of getting sha256 base\","]
5177 #[doc = " \"type\": \"integer\","]
5178 #[doc = " \"format\": \"uint64\","]
5179 #[doc = " \"minimum\": 0.0"]
5180 #[doc = " },"]
5181 #[doc = " \"keccak512_byte\": {"]
5182 #[doc = " \"description\": \"Cost of getting sha256 per byte\","]
5183 #[doc = " \"type\": \"integer\","]
5184 #[doc = " \"format\": \"uint64\","]
5185 #[doc = " \"minimum\": 0.0"]
5186 #[doc = " },"]
5187 #[doc = " \"log_base\": {"]
5188 #[doc = " \"description\": \"Cost for calling logging.\","]
5189 #[doc = " \"type\": \"integer\","]
5190 #[doc = " \"format\": \"uint64\","]
5191 #[doc = " \"minimum\": 0.0"]
5192 #[doc = " },"]
5193 #[doc = " \"log_byte\": {"]
5194 #[doc = " \"description\": \"Cost for logging per byte\","]
5195 #[doc = " \"type\": \"integer\","]
5196 #[doc = " \"format\": \"uint64\","]
5197 #[doc = " \"minimum\": 0.0"]
5198 #[doc = " },"]
5199 #[doc = " \"promise_and_base\": {"]
5200 #[doc = " \"description\": \"Cost for calling `promise_and`\","]
5201 #[doc = " \"type\": \"integer\","]
5202 #[doc = " \"format\": \"uint64\","]
5203 #[doc = " \"minimum\": 0.0"]
5204 #[doc = " },"]
5205 #[doc = " \"promise_and_per_promise\": {"]
5206 #[doc = " \"description\": \"Cost for calling `promise_and` for each promise\","]
5207 #[doc = " \"type\": \"integer\","]
5208 #[doc = " \"format\": \"uint64\","]
5209 #[doc = " \"minimum\": 0.0"]
5210 #[doc = " },"]
5211 #[doc = " \"promise_return\": {"]
5212 #[doc = " \"description\": \"Cost for calling `promise_return`\","]
5213 #[doc = " \"type\": \"integer\","]
5214 #[doc = " \"format\": \"uint64\","]
5215 #[doc = " \"minimum\": 0.0"]
5216 #[doc = " },"]
5217 #[doc = " \"read_cached_trie_node\": {"]
5218 #[doc = " \"description\": \"Cost for reading trie node from memory\","]
5219 #[doc = " \"type\": \"integer\","]
5220 #[doc = " \"format\": \"uint64\","]
5221 #[doc = " \"minimum\": 0.0"]
5222 #[doc = " },"]
5223 #[doc = " \"read_memory_base\": {"]
5224 #[doc = " \"description\": \"Base cost for guest memory read\","]
5225 #[doc = " \"type\": \"integer\","]
5226 #[doc = " \"format\": \"uint64\","]
5227 #[doc = " \"minimum\": 0.0"]
5228 #[doc = " },"]
5229 #[doc = " \"read_memory_byte\": {"]
5230 #[doc = " \"description\": \"Cost for guest memory read\","]
5231 #[doc = " \"type\": \"integer\","]
5232 #[doc = " \"format\": \"uint64\","]
5233 #[doc = " \"minimum\": 0.0"]
5234 #[doc = " },"]
5235 #[doc = " \"read_register_base\": {"]
5236 #[doc = " \"description\": \"Base cost for reading from register\","]
5237 #[doc = " \"type\": \"integer\","]
5238 #[doc = " \"format\": \"uint64\","]
5239 #[doc = " \"minimum\": 0.0"]
5240 #[doc = " },"]
5241 #[doc = " \"read_register_byte\": {"]
5242 #[doc = " \"description\": \"Cost for reading byte from register\","]
5243 #[doc = " \"type\": \"integer\","]
5244 #[doc = " \"format\": \"uint64\","]
5245 #[doc = " \"minimum\": 0.0"]
5246 #[doc = " },"]
5247 #[doc = " \"ripemd160_base\": {"]
5248 #[doc = " \"description\": \"Cost of getting ripemd160 base\","]
5249 #[doc = " \"type\": \"integer\","]
5250 #[doc = " \"format\": \"uint64\","]
5251 #[doc = " \"minimum\": 0.0"]
5252 #[doc = " },"]
5253 #[doc = " \"ripemd160_block\": {"]
5254 #[doc = " \"description\": \"Cost of getting ripemd160 per message block\","]
5255 #[doc = " \"type\": \"integer\","]
5256 #[doc = " \"format\": \"uint64\","]
5257 #[doc = " \"minimum\": 0.0"]
5258 #[doc = " },"]
5259 #[doc = " \"sha256_base\": {"]
5260 #[doc = " \"description\": \"Cost of getting sha256 base\","]
5261 #[doc = " \"type\": \"integer\","]
5262 #[doc = " \"format\": \"uint64\","]
5263 #[doc = " \"minimum\": 0.0"]
5264 #[doc = " },"]
5265 #[doc = " \"sha256_byte\": {"]
5266 #[doc = " \"description\": \"Cost of getting sha256 per byte\","]
5267 #[doc = " \"type\": \"integer\","]
5268 #[doc = " \"format\": \"uint64\","]
5269 #[doc = " \"minimum\": 0.0"]
5270 #[doc = " },"]
5271 #[doc = " \"storage_has_key_base\": {"]
5272 #[doc = " \"description\": \"Storage trie check for key existence cost base\","]
5273 #[doc = " \"type\": \"integer\","]
5274 #[doc = " \"format\": \"uint64\","]
5275 #[doc = " \"minimum\": 0.0"]
5276 #[doc = " },"]
5277 #[doc = " \"storage_has_key_byte\": {"]
5278 #[doc = " \"description\": \"Storage trie check for key existence per key byte\","]
5279 #[doc = " \"type\": \"integer\","]
5280 #[doc = " \"format\": \"uint64\","]
5281 #[doc = " \"minimum\": 0.0"]
5282 #[doc = " },"]
5283 #[doc = " \"storage_iter_create_from_byte\": {"]
5284 #[doc = " \"description\": \"Create trie range iterator cost per byte of from key.\","]
5285 #[doc = " \"type\": \"integer\","]
5286 #[doc = " \"format\": \"uint64\","]
5287 #[doc = " \"minimum\": 0.0"]
5288 #[doc = " },"]
5289 #[doc = " \"storage_iter_create_prefix_base\": {"]
5290 #[doc = " \"description\": \"Create trie prefix iterator cost base\","]
5291 #[doc = " \"type\": \"integer\","]
5292 #[doc = " \"format\": \"uint64\","]
5293 #[doc = " \"minimum\": 0.0"]
5294 #[doc = " },"]
5295 #[doc = " \"storage_iter_create_prefix_byte\": {"]
5296 #[doc = " \"description\": \"Create trie prefix iterator cost per byte.\","]
5297 #[doc = " \"type\": \"integer\","]
5298 #[doc = " \"format\": \"uint64\","]
5299 #[doc = " \"minimum\": 0.0"]
5300 #[doc = " },"]
5301 #[doc = " \"storage_iter_create_range_base\": {"]
5302 #[doc = " \"description\": \"Create trie range iterator cost base\","]
5303 #[doc = " \"type\": \"integer\","]
5304 #[doc = " \"format\": \"uint64\","]
5305 #[doc = " \"minimum\": 0.0"]
5306 #[doc = " },"]
5307 #[doc = " \"storage_iter_create_to_byte\": {"]
5308 #[doc = " \"description\": \"Create trie range iterator cost per byte of to key.\","]
5309 #[doc = " \"type\": \"integer\","]
5310 #[doc = " \"format\": \"uint64\","]
5311 #[doc = " \"minimum\": 0.0"]
5312 #[doc = " },"]
5313 #[doc = " \"storage_iter_next_base\": {"]
5314 #[doc = " \"description\": \"Trie iterator per key base cost\","]
5315 #[doc = " \"type\": \"integer\","]
5316 #[doc = " \"format\": \"uint64\","]
5317 #[doc = " \"minimum\": 0.0"]
5318 #[doc = " },"]
5319 #[doc = " \"storage_iter_next_key_byte\": {"]
5320 #[doc = " \"description\": \"Trie iterator next key byte cost\","]
5321 #[doc = " \"type\": \"integer\","]
5322 #[doc = " \"format\": \"uint64\","]
5323 #[doc = " \"minimum\": 0.0"]
5324 #[doc = " },"]
5325 #[doc = " \"storage_iter_next_value_byte\": {"]
5326 #[doc = " \"description\": \"Trie iterator next key byte cost\","]
5327 #[doc = " \"type\": \"integer\","]
5328 #[doc = " \"format\": \"uint64\","]
5329 #[doc = " \"minimum\": 0.0"]
5330 #[doc = " },"]
5331 #[doc = " \"storage_large_read_overhead_base\": {"]
5332 #[doc = " \"description\": \"Storage trie read key overhead base cost, when doing large reads\","]
5333 #[doc = " \"type\": \"integer\","]
5334 #[doc = " \"format\": \"uint64\","]
5335 #[doc = " \"minimum\": 0.0"]
5336 #[doc = " },"]
5337 #[doc = " \"storage_large_read_overhead_byte\": {"]
5338 #[doc = " \"description\": \"Storage trie read key overhead per-byte cost, when doing large reads\","]
5339 #[doc = " \"type\": \"integer\","]
5340 #[doc = " \"format\": \"uint64\","]
5341 #[doc = " \"minimum\": 0.0"]
5342 #[doc = " },"]
5343 #[doc = " \"storage_read_base\": {"]
5344 #[doc = " \"description\": \"Storage trie read key base cost\","]
5345 #[doc = " \"type\": \"integer\","]
5346 #[doc = " \"format\": \"uint64\","]
5347 #[doc = " \"minimum\": 0.0"]
5348 #[doc = " },"]
5349 #[doc = " \"storage_read_key_byte\": {"]
5350 #[doc = " \"description\": \"Storage trie read key per byte cost\","]
5351 #[doc = " \"type\": \"integer\","]
5352 #[doc = " \"format\": \"uint64\","]
5353 #[doc = " \"minimum\": 0.0"]
5354 #[doc = " },"]
5355 #[doc = " \"storage_read_value_byte\": {"]
5356 #[doc = " \"description\": \"Storage trie read value cost per byte cost\","]
5357 #[doc = " \"type\": \"integer\","]
5358 #[doc = " \"format\": \"uint64\","]
5359 #[doc = " \"minimum\": 0.0"]
5360 #[doc = " },"]
5361 #[doc = " \"storage_remove_base\": {"]
5362 #[doc = " \"description\": \"Remove key from trie base cost\","]
5363 #[doc = " \"type\": \"integer\","]
5364 #[doc = " \"format\": \"uint64\","]
5365 #[doc = " \"minimum\": 0.0"]
5366 #[doc = " },"]
5367 #[doc = " \"storage_remove_key_byte\": {"]
5368 #[doc = " \"description\": \"Remove key from trie per byte cost\","]
5369 #[doc = " \"type\": \"integer\","]
5370 #[doc = " \"format\": \"uint64\","]
5371 #[doc = " \"minimum\": 0.0"]
5372 #[doc = " },"]
5373 #[doc = " \"storage_remove_ret_value_byte\": {"]
5374 #[doc = " \"description\": \"Remove key from trie ret value byte cost\","]
5375 #[doc = " \"type\": \"integer\","]
5376 #[doc = " \"format\": \"uint64\","]
5377 #[doc = " \"minimum\": 0.0"]
5378 #[doc = " },"]
5379 #[doc = " \"storage_write_base\": {"]
5380 #[doc = " \"description\": \"Storage trie write key base cost\","]
5381 #[doc = " \"type\": \"integer\","]
5382 #[doc = " \"format\": \"uint64\","]
5383 #[doc = " \"minimum\": 0.0"]
5384 #[doc = " },"]
5385 #[doc = " \"storage_write_evicted_byte\": {"]
5386 #[doc = " \"description\": \"Storage trie write cost per byte of evicted value.\","]
5387 #[doc = " \"type\": \"integer\","]
5388 #[doc = " \"format\": \"uint64\","]
5389 #[doc = " \"minimum\": 0.0"]
5390 #[doc = " },"]
5391 #[doc = " \"storage_write_key_byte\": {"]
5392 #[doc = " \"description\": \"Storage trie write key per byte cost\","]
5393 #[doc = " \"type\": \"integer\","]
5394 #[doc = " \"format\": \"uint64\","]
5395 #[doc = " \"minimum\": 0.0"]
5396 #[doc = " },"]
5397 #[doc = " \"storage_write_value_byte\": {"]
5398 #[doc = " \"description\": \"Storage trie write value per byte cost\","]
5399 #[doc = " \"type\": \"integer\","]
5400 #[doc = " \"format\": \"uint64\","]
5401 #[doc = " \"minimum\": 0.0"]
5402 #[doc = " },"]
5403 #[doc = " \"touching_trie_node\": {"]
5404 #[doc = " \"description\": \"Cost per reading trie node from DB\","]
5405 #[doc = " \"type\": \"integer\","]
5406 #[doc = " \"format\": \"uint64\","]
5407 #[doc = " \"minimum\": 0.0"]
5408 #[doc = " },"]
5409 #[doc = " \"utf16_decoding_base\": {"]
5410 #[doc = " \"description\": \"Base cost of decoding utf16. It's used for `log_utf16`.\","]
5411 #[doc = " \"type\": \"integer\","]
5412 #[doc = " \"format\": \"uint64\","]
5413 #[doc = " \"minimum\": 0.0"]
5414 #[doc = " },"]
5415 #[doc = " \"utf16_decoding_byte\": {"]
5416 #[doc = " \"description\": \"Cost per byte of decoding utf16. It's used for `log_utf16`.\","]
5417 #[doc = " \"type\": \"integer\","]
5418 #[doc = " \"format\": \"uint64\","]
5419 #[doc = " \"minimum\": 0.0"]
5420 #[doc = " },"]
5421 #[doc = " \"utf8_decoding_base\": {"]
5422 #[doc = " \"description\": \"Base cost of decoding utf8. It's used for `log_utf8` and `panic_utf8`.\","]
5423 #[doc = " \"type\": \"integer\","]
5424 #[doc = " \"format\": \"uint64\","]
5425 #[doc = " \"minimum\": 0.0"]
5426 #[doc = " },"]
5427 #[doc = " \"utf8_decoding_byte\": {"]
5428 #[doc = " \"description\": \"Cost per byte of decoding utf8. It's used for `log_utf8` and `panic_utf8`.\","]
5429 #[doc = " \"type\": \"integer\","]
5430 #[doc = " \"format\": \"uint64\","]
5431 #[doc = " \"minimum\": 0.0"]
5432 #[doc = " },"]
5433 #[doc = " \"validator_stake_base\": {"]
5434 #[doc = " \"description\": \"Cost of calling `validator_stake`.\","]
5435 #[doc = " \"type\": \"integer\","]
5436 #[doc = " \"format\": \"uint64\","]
5437 #[doc = " \"minimum\": 0.0"]
5438 #[doc = " },"]
5439 #[doc = " \"validator_total_stake_base\": {"]
5440 #[doc = " \"description\": \"Cost of calling `validator_total_stake`.\","]
5441 #[doc = " \"type\": \"integer\","]
5442 #[doc = " \"format\": \"uint64\","]
5443 #[doc = " \"minimum\": 0.0"]
5444 #[doc = " },"]
5445 #[doc = " \"write_memory_base\": {"]
5446 #[doc = " \"description\": \"Base cost for guest memory write\","]
5447 #[doc = " \"type\": \"integer\","]
5448 #[doc = " \"format\": \"uint64\","]
5449 #[doc = " \"minimum\": 0.0"]
5450 #[doc = " },"]
5451 #[doc = " \"write_memory_byte\": {"]
5452 #[doc = " \"description\": \"Cost for guest memory write per byte\","]
5453 #[doc = " \"type\": \"integer\","]
5454 #[doc = " \"format\": \"uint64\","]
5455 #[doc = " \"minimum\": 0.0"]
5456 #[doc = " },"]
5457 #[doc = " \"write_register_base\": {"]
5458 #[doc = " \"description\": \"Base cost for writing into register\","]
5459 #[doc = " \"type\": \"integer\","]
5460 #[doc = " \"format\": \"uint64\","]
5461 #[doc = " \"minimum\": 0.0"]
5462 #[doc = " },"]
5463 #[doc = " \"write_register_byte\": {"]
5464 #[doc = " \"description\": \"Cost for writing byte into register\","]
5465 #[doc = " \"type\": \"integer\","]
5466 #[doc = " \"format\": \"uint64\","]
5467 #[doc = " \"minimum\": 0.0"]
5468 #[doc = " },"]
5469 #[doc = " \"yield_create_base\": {"]
5470 #[doc = " \"description\": \"Base cost for creating a yield promise.\","]
5471 #[doc = " \"type\": \"integer\","]
5472 #[doc = " \"format\": \"uint64\","]
5473 #[doc = " \"minimum\": 0.0"]
5474 #[doc = " },"]
5475 #[doc = " \"yield_create_byte\": {"]
5476 #[doc = " \"description\": \"Per byte cost of arguments and method name.\","]
5477 #[doc = " \"type\": \"integer\","]
5478 #[doc = " \"format\": \"uint64\","]
5479 #[doc = " \"minimum\": 0.0"]
5480 #[doc = " },"]
5481 #[doc = " \"yield_resume_base\": {"]
5482 #[doc = " \"description\": \"Base cost for resuming a yield receipt.\","]
5483 #[doc = " \"type\": \"integer\","]
5484 #[doc = " \"format\": \"uint64\","]
5485 #[doc = " \"minimum\": 0.0"]
5486 #[doc = " },"]
5487 #[doc = " \"yield_resume_byte\": {"]
5488 #[doc = " \"description\": \"Per byte cost of resume payload.\","]
5489 #[doc = " \"type\": \"integer\","]
5490 #[doc = " \"format\": \"uint64\","]
5491 #[doc = " \"minimum\": 0.0"]
5492 #[doc = " }"]
5493 #[doc = " }"]
5494 #[doc = "}"]
5495 #[doc = r" ```"]
5496 #[doc = r" </details>"]
5497 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
5498 pub struct ExtCostsConfigView {
5499 #[doc = "Base cost for multiexp"]
5500 pub alt_bn128_g1_multiexp_base: u64,
5501 #[doc = "Per element cost for multiexp"]
5502 pub alt_bn128_g1_multiexp_element: u64,
5503 #[doc = "Base cost for sum"]
5504 pub alt_bn128_g1_sum_base: u64,
5505 #[doc = "Per element cost for sum"]
5506 pub alt_bn128_g1_sum_element: u64,
5507 #[doc = "Base cost for pairing check"]
5508 pub alt_bn128_pairing_check_base: u64,
5509 #[doc = "Per element cost for pairing check"]
5510 pub alt_bn128_pairing_check_element: u64,
5511 #[doc = "Base cost for calling a host function."]
5512 pub base: u64,
5513 pub bls12381_g1_multiexp_base: u64,
5514 pub bls12381_g1_multiexp_element: u64,
5515 pub bls12381_g2_multiexp_base: u64,
5516 pub bls12381_g2_multiexp_element: u64,
5517 pub bls12381_map_fp2_to_g2_base: u64,
5518 pub bls12381_map_fp2_to_g2_element: u64,
5519 pub bls12381_map_fp_to_g1_base: u64,
5520 pub bls12381_map_fp_to_g1_element: u64,
5521 pub bls12381_p1_decompress_base: u64,
5522 pub bls12381_p1_decompress_element: u64,
5523 pub bls12381_p1_sum_base: u64,
5524 pub bls12381_p1_sum_element: u64,
5525 pub bls12381_p2_decompress_base: u64,
5526 pub bls12381_p2_decompress_element: u64,
5527 pub bls12381_p2_sum_base: u64,
5528 pub bls12381_p2_sum_element: u64,
5529 pub bls12381_pairing_base: u64,
5530 pub bls12381_pairing_element: u64,
5531 pub contract_compile_base: u64,
5532 pub contract_compile_bytes: u64,
5533 #[doc = "Base cost of loading a pre-compiled contract"]
5534 pub contract_loading_base: u64,
5535 #[doc = "Cost per byte of loading a pre-compiled contract"]
5536 pub contract_loading_bytes: u64,
5537 #[doc = "Cost of calling ecrecover"]
5538 pub ecrecover_base: u64,
5539 #[doc = "Cost of getting ed25519 base"]
5540 pub ed25519_verify_base: u64,
5541 #[doc = "Cost of getting ed25519 per byte"]
5542 pub ed25519_verify_byte: u64,
5543 #[doc = "Cost of getting sha256 base"]
5544 pub keccak256_base: u64,
5545 #[doc = "Cost of getting sha256 per byte"]
5546 pub keccak256_byte: u64,
5547 #[doc = "Cost of getting sha256 base"]
5548 pub keccak512_base: u64,
5549 #[doc = "Cost of getting sha256 per byte"]
5550 pub keccak512_byte: u64,
5551 #[doc = "Cost for calling logging."]
5552 pub log_base: u64,
5553 #[doc = "Cost for logging per byte"]
5554 pub log_byte: u64,
5555 #[doc = "Cost for calling `promise_and`"]
5556 pub promise_and_base: u64,
5557 #[doc = "Cost for calling `promise_and` for each promise"]
5558 pub promise_and_per_promise: u64,
5559 #[doc = "Cost for calling `promise_return`"]
5560 pub promise_return: u64,
5561 #[doc = "Cost for reading trie node from memory"]
5562 pub read_cached_trie_node: u64,
5563 #[doc = "Base cost for guest memory read"]
5564 pub read_memory_base: u64,
5565 #[doc = "Cost for guest memory read"]
5566 pub read_memory_byte: u64,
5567 #[doc = "Base cost for reading from register"]
5568 pub read_register_base: u64,
5569 #[doc = "Cost for reading byte from register"]
5570 pub read_register_byte: u64,
5571 #[doc = "Cost of getting ripemd160 base"]
5572 pub ripemd160_base: u64,
5573 #[doc = "Cost of getting ripemd160 per message block"]
5574 pub ripemd160_block: u64,
5575 #[doc = "Cost of getting sha256 base"]
5576 pub sha256_base: u64,
5577 #[doc = "Cost of getting sha256 per byte"]
5578 pub sha256_byte: u64,
5579 #[doc = "Storage trie check for key existence cost base"]
5580 pub storage_has_key_base: u64,
5581 #[doc = "Storage trie check for key existence per key byte"]
5582 pub storage_has_key_byte: u64,
5583 #[doc = "Create trie range iterator cost per byte of from key."]
5584 pub storage_iter_create_from_byte: u64,
5585 #[doc = "Create trie prefix iterator cost base"]
5586 pub storage_iter_create_prefix_base: u64,
5587 #[doc = "Create trie prefix iterator cost per byte."]
5588 pub storage_iter_create_prefix_byte: u64,
5589 #[doc = "Create trie range iterator cost base"]
5590 pub storage_iter_create_range_base: u64,
5591 #[doc = "Create trie range iterator cost per byte of to key."]
5592 pub storage_iter_create_to_byte: u64,
5593 #[doc = "Trie iterator per key base cost"]
5594 pub storage_iter_next_base: u64,
5595 #[doc = "Trie iterator next key byte cost"]
5596 pub storage_iter_next_key_byte: u64,
5597 #[doc = "Trie iterator next key byte cost"]
5598 pub storage_iter_next_value_byte: u64,
5599 #[doc = "Storage trie read key overhead base cost, when doing large reads"]
5600 pub storage_large_read_overhead_base: u64,
5601 #[doc = "Storage trie read key overhead per-byte cost, when doing large reads"]
5602 pub storage_large_read_overhead_byte: u64,
5603 #[doc = "Storage trie read key base cost"]
5604 pub storage_read_base: u64,
5605 #[doc = "Storage trie read key per byte cost"]
5606 pub storage_read_key_byte: u64,
5607 #[doc = "Storage trie read value cost per byte cost"]
5608 pub storage_read_value_byte: u64,
5609 #[doc = "Remove key from trie base cost"]
5610 pub storage_remove_base: u64,
5611 #[doc = "Remove key from trie per byte cost"]
5612 pub storage_remove_key_byte: u64,
5613 #[doc = "Remove key from trie ret value byte cost"]
5614 pub storage_remove_ret_value_byte: u64,
5615 #[doc = "Storage trie write key base cost"]
5616 pub storage_write_base: u64,
5617 #[doc = "Storage trie write cost per byte of evicted value."]
5618 pub storage_write_evicted_byte: u64,
5619 #[doc = "Storage trie write key per byte cost"]
5620 pub storage_write_key_byte: u64,
5621 #[doc = "Storage trie write value per byte cost"]
5622 pub storage_write_value_byte: u64,
5623 #[doc = "Cost per reading trie node from DB"]
5624 pub touching_trie_node: u64,
5625 #[doc = "Base cost of decoding utf16. It's used for `log_utf16`."]
5626 pub utf16_decoding_base: u64,
5627 #[doc = "Cost per byte of decoding utf16. It's used for `log_utf16`."]
5628 pub utf16_decoding_byte: u64,
5629 #[doc = "Base cost of decoding utf8. It's used for `log_utf8` and `panic_utf8`."]
5630 pub utf8_decoding_base: u64,
5631 #[doc = "Cost per byte of decoding utf8. It's used for `log_utf8` and `panic_utf8`."]
5632 pub utf8_decoding_byte: u64,
5633 #[doc = "Cost of calling `validator_stake`."]
5634 pub validator_stake_base: u64,
5635 #[doc = "Cost of calling `validator_total_stake`."]
5636 pub validator_total_stake_base: u64,
5637 #[doc = "Base cost for guest memory write"]
5638 pub write_memory_base: u64,
5639 #[doc = "Cost for guest memory write per byte"]
5640 pub write_memory_byte: u64,
5641 #[doc = "Base cost for writing into register"]
5642 pub write_register_base: u64,
5643 #[doc = "Cost for writing byte into register"]
5644 pub write_register_byte: u64,
5645 #[doc = "Base cost for creating a yield promise."]
5646 pub yield_create_base: u64,
5647 #[doc = "Per byte cost of arguments and method name."]
5648 pub yield_create_byte: u64,
5649 #[doc = "Base cost for resuming a yield receipt."]
5650 pub yield_resume_base: u64,
5651 #[doc = "Per byte cost of resume payload."]
5652 pub yield_resume_byte: u64,
5653 }
5654 impl ::std::convert::From<&ExtCostsConfigView> for ExtCostsConfigView {
5655 fn from(value: &ExtCostsConfigView) -> Self {
5656 value.clone()
5657 }
5658 }
5659 #[doc = "`ExternalStorageConfig`"]
5660 #[doc = r""]
5661 #[doc = r" <details><summary>JSON schema</summary>"]
5662 #[doc = r""]
5663 #[doc = r" ```json"]
5664 #[doc = "{"]
5665 #[doc = " \"type\": \"object\","]
5666 #[doc = " \"required\": ["]
5667 #[doc = " \"location\""]
5668 #[doc = " ],"]
5669 #[doc = " \"properties\": {"]
5670 #[doc = " \"external_storage_fallback_threshold\": {"]
5671 #[doc = " \"description\": \"The number of attempts the node will make to obtain a part from peers in\\n the network before it fetches from external storage.\","]
5672 #[doc = " \"default\": 3,"]
5673 #[doc = " \"type\": \"integer\","]
5674 #[doc = " \"format\": \"uint64\","]
5675 #[doc = " \"minimum\": 0.0"]
5676 #[doc = " },"]
5677 #[doc = " \"location\": {"]
5678 #[doc = " \"description\": \"Location of state parts.\","]
5679 #[doc = " \"allOf\": ["]
5680 #[doc = " {"]
5681 #[doc = " \"$ref\": \"#/components/schemas/ExternalStorageLocation\""]
5682 #[doc = " }"]
5683 #[doc = " ]"]
5684 #[doc = " },"]
5685 #[doc = " \"num_concurrent_requests\": {"]
5686 #[doc = " \"description\": \"When fetching state parts from external storage, throttle fetch requests\\n to this many concurrent requests.\","]
5687 #[doc = " \"default\": 25,"]
5688 #[doc = " \"type\": \"integer\","]
5689 #[doc = " \"format\": \"uint32\","]
5690 #[doc = " \"minimum\": 0.0"]
5691 #[doc = " },"]
5692 #[doc = " \"num_concurrent_requests_during_catchup\": {"]
5693 #[doc = " \"description\": \"During catchup, the node will use a different number of concurrent requests\\n to reduce the performance impact of state sync.\","]
5694 #[doc = " \"default\": 5,"]
5695 #[doc = " \"type\": \"integer\","]
5696 #[doc = " \"format\": \"uint32\","]
5697 #[doc = " \"minimum\": 0.0"]
5698 #[doc = " }"]
5699 #[doc = " }"]
5700 #[doc = "}"]
5701 #[doc = r" ```"]
5702 #[doc = r" </details>"]
5703 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
5704 pub struct ExternalStorageConfig {
5705 #[doc = "The number of attempts the node will make to obtain a part from peers in\n the network before it fetches from external storage."]
5706 #[serde(default = "defaults::default_u64::<u64, 3>")]
5707 pub external_storage_fallback_threshold: u64,
5708 #[doc = "Location of state parts."]
5709 pub location: ExternalStorageLocation,
5710 #[doc = "When fetching state parts from external storage, throttle fetch requests\n to this many concurrent requests."]
5711 #[serde(default = "defaults::default_u64::<u32, 25>")]
5712 pub num_concurrent_requests: u32,
5713 #[doc = "During catchup, the node will use a different number of concurrent requests\n to reduce the performance impact of state sync."]
5714 #[serde(default = "defaults::default_u64::<u32, 5>")]
5715 pub num_concurrent_requests_during_catchup: u32,
5716 }
5717 impl ::std::convert::From<&ExternalStorageConfig> for ExternalStorageConfig {
5718 fn from(value: &ExternalStorageConfig) -> Self {
5719 value.clone()
5720 }
5721 }
5722 #[doc = "`ExternalStorageLocation`"]
5723 #[doc = r""]
5724 #[doc = r" <details><summary>JSON schema</summary>"]
5725 #[doc = r""]
5726 #[doc = r" ```json"]
5727 #[doc = "{"]
5728 #[doc = " \"oneOf\": ["]
5729 #[doc = " {"]
5730 #[doc = " \"type\": \"object\","]
5731 #[doc = " \"required\": ["]
5732 #[doc = " \"S3\""]
5733 #[doc = " ],"]
5734 #[doc = " \"properties\": {"]
5735 #[doc = " \"S3\": {"]
5736 #[doc = " \"type\": \"object\","]
5737 #[doc = " \"required\": ["]
5738 #[doc = " \"bucket\","]
5739 #[doc = " \"region\""]
5740 #[doc = " ],"]
5741 #[doc = " \"properties\": {"]
5742 #[doc = " \"bucket\": {"]
5743 #[doc = " \"description\": \"Location of state dumps on S3.\","]
5744 #[doc = " \"type\": \"string\""]
5745 #[doc = " },"]
5746 #[doc = " \"region\": {"]
5747 #[doc = " \"description\": \"Data may only be available in certain locations.\","]
5748 #[doc = " \"type\": \"string\""]
5749 #[doc = " }"]
5750 #[doc = " }"]
5751 #[doc = " }"]
5752 #[doc = " },"]
5753 #[doc = " \"additionalProperties\": false"]
5754 #[doc = " },"]
5755 #[doc = " {"]
5756 #[doc = " \"type\": \"object\","]
5757 #[doc = " \"required\": ["]
5758 #[doc = " \"Filesystem\""]
5759 #[doc = " ],"]
5760 #[doc = " \"properties\": {"]
5761 #[doc = " \"Filesystem\": {"]
5762 #[doc = " \"type\": \"object\","]
5763 #[doc = " \"required\": ["]
5764 #[doc = " \"root_dir\""]
5765 #[doc = " ],"]
5766 #[doc = " \"properties\": {"]
5767 #[doc = " \"root_dir\": {"]
5768 #[doc = " \"type\": \"string\""]
5769 #[doc = " }"]
5770 #[doc = " }"]
5771 #[doc = " }"]
5772 #[doc = " },"]
5773 #[doc = " \"additionalProperties\": false"]
5774 #[doc = " },"]
5775 #[doc = " {"]
5776 #[doc = " \"type\": \"object\","]
5777 #[doc = " \"required\": ["]
5778 #[doc = " \"GCS\""]
5779 #[doc = " ],"]
5780 #[doc = " \"properties\": {"]
5781 #[doc = " \"GCS\": {"]
5782 #[doc = " \"type\": \"object\","]
5783 #[doc = " \"required\": ["]
5784 #[doc = " \"bucket\""]
5785 #[doc = " ],"]
5786 #[doc = " \"properties\": {"]
5787 #[doc = " \"bucket\": {"]
5788 #[doc = " \"type\": \"string\""]
5789 #[doc = " }"]
5790 #[doc = " }"]
5791 #[doc = " }"]
5792 #[doc = " },"]
5793 #[doc = " \"additionalProperties\": false"]
5794 #[doc = " }"]
5795 #[doc = " ]"]
5796 #[doc = "}"]
5797 #[doc = r" ```"]
5798 #[doc = r" </details>"]
5799 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
5800 pub enum ExternalStorageLocation {
5801 S3 {
5802 #[doc = "Location of state dumps on S3."]
5803 bucket: ::std::string::String,
5804 #[doc = "Data may only be available in certain locations."]
5805 region: ::std::string::String,
5806 },
5807 Filesystem {
5808 root_dir: ::std::string::String,
5809 },
5810 #[serde(rename = "GCS")]
5811 Gcs {
5812 bucket: ::std::string::String,
5813 },
5814 }
5815 impl ::std::convert::From<&Self> for ExternalStorageLocation {
5816 fn from(value: &ExternalStorageLocation) -> Self {
5817 value.clone()
5818 }
5819 }
5820 #[doc = "Costs associated with an object that can only be sent over the network (and executed\n by the receiver).\n NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created.\n And `execution` fee is burned when the item is being executed."]
5821 #[doc = r""]
5822 #[doc = r" <details><summary>JSON schema</summary>"]
5823 #[doc = r""]
5824 #[doc = r" ```json"]
5825 #[doc = "{"]
5826 #[doc = " \"description\": \"Costs associated with an object that can only be sent over the network (and executed\\n by the receiver).\\n NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created.\\n And `execution` fee is burned when the item is being executed.\","]
5827 #[doc = " \"type\": \"object\","]
5828 #[doc = " \"required\": ["]
5829 #[doc = " \"execution\","]
5830 #[doc = " \"send_not_sir\","]
5831 #[doc = " \"send_sir\""]
5832 #[doc = " ],"]
5833 #[doc = " \"properties\": {"]
5834 #[doc = " \"execution\": {"]
5835 #[doc = " \"description\": \"Fee for executing the object.\","]
5836 #[doc = " \"type\": \"integer\","]
5837 #[doc = " \"format\": \"uint64\","]
5838 #[doc = " \"minimum\": 0.0"]
5839 #[doc = " },"]
5840 #[doc = " \"send_not_sir\": {"]
5841 #[doc = " \"description\": \"Fee for sending an object potentially across the shards.\","]
5842 #[doc = " \"type\": \"integer\","]
5843 #[doc = " \"format\": \"uint64\","]
5844 #[doc = " \"minimum\": 0.0"]
5845 #[doc = " },"]
5846 #[doc = " \"send_sir\": {"]
5847 #[doc = " \"description\": \"Fee for sending an object from the sender to itself, guaranteeing that it does not leave\\n the shard.\","]
5848 #[doc = " \"type\": \"integer\","]
5849 #[doc = " \"format\": \"uint64\","]
5850 #[doc = " \"minimum\": 0.0"]
5851 #[doc = " }"]
5852 #[doc = " }"]
5853 #[doc = "}"]
5854 #[doc = r" ```"]
5855 #[doc = r" </details>"]
5856 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
5857 pub struct Fee {
5858 #[doc = "Fee for executing the object."]
5859 pub execution: u64,
5860 #[doc = "Fee for sending an object potentially across the shards."]
5861 pub send_not_sir: u64,
5862 #[doc = "Fee for sending an object from the sender to itself, guaranteeing that it does not leave\n the shard."]
5863 pub send_sir: u64,
5864 }
5865 impl ::std::convert::From<&Fee> for Fee {
5866 fn from(value: &Fee) -> Self {
5867 value.clone()
5868 }
5869 }
5870 #[doc = "Execution outcome of the transaction and all the subsequent receipts.\n Could be not finalized yet"]
5871 #[doc = r""]
5872 #[doc = r" <details><summary>JSON schema</summary>"]
5873 #[doc = r""]
5874 #[doc = r" ```json"]
5875 #[doc = "{"]
5876 #[doc = " \"description\": \"Execution outcome of the transaction and all the subsequent receipts.\\n Could be not finalized yet\","]
5877 #[doc = " \"type\": \"object\","]
5878 #[doc = " \"required\": ["]
5879 #[doc = " \"receipts_outcome\","]
5880 #[doc = " \"status\","]
5881 #[doc = " \"transaction\","]
5882 #[doc = " \"transaction_outcome\""]
5883 #[doc = " ],"]
5884 #[doc = " \"properties\": {"]
5885 #[doc = " \"receipts_outcome\": {"]
5886 #[doc = " \"description\": \"The execution outcome of receipts.\","]
5887 #[doc = " \"type\": \"array\","]
5888 #[doc = " \"items\": {"]
5889 #[doc = " \"$ref\": \"#/components/schemas/ExecutionOutcomeWithIdView\""]
5890 #[doc = " }"]
5891 #[doc = " },"]
5892 #[doc = " \"status\": {"]
5893 #[doc = " \"description\": \"Execution status defined by chain.rs:get_final_transaction_result\\n FinalExecutionStatus::NotStarted - the tx is not converted to the receipt yet\\n FinalExecutionStatus::Started - we have at least 1 receipt, but the first leaf receipt_id (using dfs) hasn't finished the execution\\n FinalExecutionStatus::Failure - the result of the first leaf receipt_id\\n FinalExecutionStatus::SuccessValue - the result of the first leaf receipt_id\","]
5894 #[doc = " \"allOf\": ["]
5895 #[doc = " {"]
5896 #[doc = " \"$ref\": \"#/components/schemas/FinalExecutionStatus\""]
5897 #[doc = " }"]
5898 #[doc = " ]"]
5899 #[doc = " },"]
5900 #[doc = " \"transaction\": {"]
5901 #[doc = " \"description\": \"Signed Transaction\","]
5902 #[doc = " \"allOf\": ["]
5903 #[doc = " {"]
5904 #[doc = " \"$ref\": \"#/components/schemas/SignedTransactionView\""]
5905 #[doc = " }"]
5906 #[doc = " ]"]
5907 #[doc = " },"]
5908 #[doc = " \"transaction_outcome\": {"]
5909 #[doc = " \"description\": \"The execution outcome of the signed transaction.\","]
5910 #[doc = " \"allOf\": ["]
5911 #[doc = " {"]
5912 #[doc = " \"$ref\": \"#/components/schemas/ExecutionOutcomeWithIdView\""]
5913 #[doc = " }"]
5914 #[doc = " ]"]
5915 #[doc = " }"]
5916 #[doc = " }"]
5917 #[doc = "}"]
5918 #[doc = r" ```"]
5919 #[doc = r" </details>"]
5920 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
5921 pub struct FinalExecutionOutcomeView {
5922 #[doc = "The execution outcome of receipts."]
5923 pub receipts_outcome: ::std::vec::Vec<ExecutionOutcomeWithIdView>,
5924 #[doc = "Execution status defined by chain.rs:get_final_transaction_result\n FinalExecutionStatus::NotStarted - the tx is not converted to the receipt yet\n FinalExecutionStatus::Started - we have at least 1 receipt, but the first leaf receipt_id (using dfs) hasn't finished the execution\n FinalExecutionStatus::Failure - the result of the first leaf receipt_id\n FinalExecutionStatus::SuccessValue - the result of the first leaf receipt_id"]
5925 pub status: FinalExecutionStatus,
5926 #[doc = "Signed Transaction"]
5927 pub transaction: SignedTransactionView,
5928 #[doc = "The execution outcome of the signed transaction."]
5929 pub transaction_outcome: ExecutionOutcomeWithIdView,
5930 }
5931 impl ::std::convert::From<&FinalExecutionOutcomeView> for FinalExecutionOutcomeView {
5932 fn from(value: &FinalExecutionOutcomeView) -> Self {
5933 value.clone()
5934 }
5935 }
5936 #[doc = "Final execution outcome of the transaction and all of subsequent the receipts. Also includes\n the generated receipt."]
5937 #[doc = r""]
5938 #[doc = r" <details><summary>JSON schema</summary>"]
5939 #[doc = r""]
5940 #[doc = r" ```json"]
5941 #[doc = "{"]
5942 #[doc = " \"description\": \"Final execution outcome of the transaction and all of subsequent the receipts. Also includes\\n the generated receipt.\","]
5943 #[doc = " \"type\": \"object\","]
5944 #[doc = " \"required\": ["]
5945 #[doc = " \"receipts\","]
5946 #[doc = " \"receipts_outcome\","]
5947 #[doc = " \"status\","]
5948 #[doc = " \"transaction\","]
5949 #[doc = " \"transaction_outcome\""]
5950 #[doc = " ],"]
5951 #[doc = " \"properties\": {"]
5952 #[doc = " \"receipts\": {"]
5953 #[doc = " \"description\": \"Receipts generated from the transaction\","]
5954 #[doc = " \"type\": \"array\","]
5955 #[doc = " \"items\": {"]
5956 #[doc = " \"$ref\": \"#/components/schemas/ReceiptView\""]
5957 #[doc = " }"]
5958 #[doc = " },"]
5959 #[doc = " \"receipts_outcome\": {"]
5960 #[doc = " \"description\": \"The execution outcome of receipts.\","]
5961 #[doc = " \"type\": \"array\","]
5962 #[doc = " \"items\": {"]
5963 #[doc = " \"$ref\": \"#/components/schemas/ExecutionOutcomeWithIdView\""]
5964 #[doc = " }"]
5965 #[doc = " },"]
5966 #[doc = " \"status\": {"]
5967 #[doc = " \"description\": \"Execution status defined by chain.rs:get_final_transaction_result\\n FinalExecutionStatus::NotStarted - the tx is not converted to the receipt yet\\n FinalExecutionStatus::Started - we have at least 1 receipt, but the first leaf receipt_id (using dfs) hasn't finished the execution\\n FinalExecutionStatus::Failure - the result of the first leaf receipt_id\\n FinalExecutionStatus::SuccessValue - the result of the first leaf receipt_id\","]
5968 #[doc = " \"allOf\": ["]
5969 #[doc = " {"]
5970 #[doc = " \"$ref\": \"#/components/schemas/FinalExecutionStatus\""]
5971 #[doc = " }"]
5972 #[doc = " ]"]
5973 #[doc = " },"]
5974 #[doc = " \"transaction\": {"]
5975 #[doc = " \"description\": \"Signed Transaction\","]
5976 #[doc = " \"allOf\": ["]
5977 #[doc = " {"]
5978 #[doc = " \"$ref\": \"#/components/schemas/SignedTransactionView\""]
5979 #[doc = " }"]
5980 #[doc = " ]"]
5981 #[doc = " },"]
5982 #[doc = " \"transaction_outcome\": {"]
5983 #[doc = " \"description\": \"The execution outcome of the signed transaction.\","]
5984 #[doc = " \"allOf\": ["]
5985 #[doc = " {"]
5986 #[doc = " \"$ref\": \"#/components/schemas/ExecutionOutcomeWithIdView\""]
5987 #[doc = " }"]
5988 #[doc = " ]"]
5989 #[doc = " }"]
5990 #[doc = " }"]
5991 #[doc = "}"]
5992 #[doc = r" ```"]
5993 #[doc = r" </details>"]
5994 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
5995 pub struct FinalExecutionOutcomeWithReceiptView {
5996 #[doc = "Receipts generated from the transaction"]
5997 pub receipts: ::std::vec::Vec<ReceiptView>,
5998 #[doc = "The execution outcome of receipts."]
5999 pub receipts_outcome: ::std::vec::Vec<ExecutionOutcomeWithIdView>,
6000 #[doc = "Execution status defined by chain.rs:get_final_transaction_result\n FinalExecutionStatus::NotStarted - the tx is not converted to the receipt yet\n FinalExecutionStatus::Started - we have at least 1 receipt, but the first leaf receipt_id (using dfs) hasn't finished the execution\n FinalExecutionStatus::Failure - the result of the first leaf receipt_id\n FinalExecutionStatus::SuccessValue - the result of the first leaf receipt_id"]
6001 pub status: FinalExecutionStatus,
6002 #[doc = "Signed Transaction"]
6003 pub transaction: SignedTransactionView,
6004 #[doc = "The execution outcome of the signed transaction."]
6005 pub transaction_outcome: ExecutionOutcomeWithIdView,
6006 }
6007 impl ::std::convert::From<&FinalExecutionOutcomeWithReceiptView>
6008 for FinalExecutionOutcomeWithReceiptView
6009 {
6010 fn from(value: &FinalExecutionOutcomeWithReceiptView) -> Self {
6011 value.clone()
6012 }
6013 }
6014 #[doc = "`FinalExecutionStatus`"]
6015 #[doc = r""]
6016 #[doc = r" <details><summary>JSON schema</summary>"]
6017 #[doc = r""]
6018 #[doc = r" ```json"]
6019 #[doc = "{"]
6020 #[doc = " \"oneOf\": ["]
6021 #[doc = " {"]
6022 #[doc = " \"description\": \"The execution has not yet started.\","]
6023 #[doc = " \"type\": \"string\","]
6024 #[doc = " \"enum\": ["]
6025 #[doc = " \"NotStarted\""]
6026 #[doc = " ]"]
6027 #[doc = " },"]
6028 #[doc = " {"]
6029 #[doc = " \"description\": \"The execution has started and still going.\","]
6030 #[doc = " \"type\": \"string\","]
6031 #[doc = " \"enum\": ["]
6032 #[doc = " \"Started\""]
6033 #[doc = " ]"]
6034 #[doc = " },"]
6035 #[doc = " {"]
6036 #[doc = " \"description\": \"The execution has failed with the given error.\","]
6037 #[doc = " \"type\": \"object\","]
6038 #[doc = " \"required\": ["]
6039 #[doc = " \"Failure\""]
6040 #[doc = " ],"]
6041 #[doc = " \"properties\": {"]
6042 #[doc = " \"Failure\": {"]
6043 #[doc = " \"$ref\": \"#/components/schemas/TxExecutionError\""]
6044 #[doc = " }"]
6045 #[doc = " },"]
6046 #[doc = " \"additionalProperties\": false"]
6047 #[doc = " },"]
6048 #[doc = " {"]
6049 #[doc = " \"description\": \"The execution has succeeded and returned some value or an empty vec encoded in base64.\","]
6050 #[doc = " \"type\": \"object\","]
6051 #[doc = " \"required\": ["]
6052 #[doc = " \"SuccessValue\""]
6053 #[doc = " ],"]
6054 #[doc = " \"properties\": {"]
6055 #[doc = " \"SuccessValue\": {"]
6056 #[doc = " \"type\": \"string\""]
6057 #[doc = " }"]
6058 #[doc = " },"]
6059 #[doc = " \"additionalProperties\": false"]
6060 #[doc = " }"]
6061 #[doc = " ]"]
6062 #[doc = "}"]
6063 #[doc = r" ```"]
6064 #[doc = r" </details>"]
6065 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6066 pub enum FinalExecutionStatus {
6067 #[doc = "The execution has not yet started."]
6068 NotStarted,
6069 #[doc = "The execution has started and still going."]
6070 Started,
6071 #[doc = "The execution has failed with the given error."]
6072 Failure(TxExecutionError),
6073 #[doc = "The execution has succeeded and returned some value or an empty vec encoded in base64."]
6074 SuccessValue(::std::string::String),
6075 }
6076 impl ::std::convert::From<&Self> for FinalExecutionStatus {
6077 fn from(value: &FinalExecutionStatus) -> Self {
6078 value.clone()
6079 }
6080 }
6081 impl ::std::convert::From<TxExecutionError> for FinalExecutionStatus {
6082 fn from(value: TxExecutionError) -> Self {
6083 Self::Failure(value)
6084 }
6085 }
6086 #[doc = "Different types of finality."]
6087 #[doc = r""]
6088 #[doc = r" <details><summary>JSON schema</summary>"]
6089 #[doc = r""]
6090 #[doc = r" ```json"]
6091 #[doc = "{"]
6092 #[doc = " \"description\": \"Different types of finality.\","]
6093 #[doc = " \"type\": \"string\","]
6094 #[doc = " \"enum\": ["]
6095 #[doc = " \"optimistic\","]
6096 #[doc = " \"near-final\","]
6097 #[doc = " \"final\""]
6098 #[doc = " ]"]
6099 #[doc = "}"]
6100 #[doc = r" ```"]
6101 #[doc = r" </details>"]
6102 #[derive(
6103 :: serde :: Deserialize,
6104 :: serde :: Serialize,
6105 Clone,
6106 Copy,
6107 Debug,
6108 Eq,
6109 Hash,
6110 Ord,
6111 PartialEq,
6112 PartialOrd,
6113 )]
6114 pub enum Finality {
6115 #[serde(rename = "optimistic")]
6116 Optimistic,
6117 #[serde(rename = "near-final")]
6118 NearFinal,
6119 #[serde(rename = "final")]
6120 Final,
6121 }
6122 impl ::std::convert::From<&Self> for Finality {
6123 fn from(value: &Finality) -> Self {
6124 value.clone()
6125 }
6126 }
6127 impl ::std::fmt::Display for Finality {
6128 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6129 match *self {
6130 Self::Optimistic => write!(f, "optimistic"),
6131 Self::NearFinal => write!(f, "near-final"),
6132 Self::Final => write!(f, "final"),
6133 }
6134 }
6135 }
6136 impl ::std::str::FromStr for Finality {
6137 type Err = self::error::ConversionError;
6138 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
6139 match value {
6140 "optimistic" => Ok(Self::Optimistic),
6141 "near-final" => Ok(Self::NearFinal),
6142 "final" => Ok(Self::Final),
6143 _ => Err("invalid value".into()),
6144 }
6145 }
6146 }
6147 impl ::std::convert::TryFrom<&str> for Finality {
6148 type Error = self::error::ConversionError;
6149 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
6150 value.parse()
6151 }
6152 }
6153 impl ::std::convert::TryFrom<&::std::string::String> for Finality {
6154 type Error = self::error::ConversionError;
6155 fn try_from(
6156 value: &::std::string::String,
6157 ) -> ::std::result::Result<Self, self::error::ConversionError> {
6158 value.parse()
6159 }
6160 }
6161 impl ::std::convert::TryFrom<::std::string::String> for Finality {
6162 type Error = self::error::ConversionError;
6163 fn try_from(
6164 value: ::std::string::String,
6165 ) -> ::std::result::Result<Self, self::error::ConversionError> {
6166 value.parse()
6167 }
6168 }
6169 #[doc = "`FunctionCallAction`"]
6170 #[doc = r""]
6171 #[doc = r" <details><summary>JSON schema</summary>"]
6172 #[doc = r""]
6173 #[doc = r" ```json"]
6174 #[doc = "{"]
6175 #[doc = " \"type\": \"object\","]
6176 #[doc = " \"required\": ["]
6177 #[doc = " \"args\","]
6178 #[doc = " \"deposit\","]
6179 #[doc = " \"gas\","]
6180 #[doc = " \"method_name\""]
6181 #[doc = " ],"]
6182 #[doc = " \"properties\": {"]
6183 #[doc = " \"args\": {"]
6184 #[doc = " \"type\": \"string\""]
6185 #[doc = " },"]
6186 #[doc = " \"deposit\": {"]
6187 #[doc = " \"type\": \"string\""]
6188 #[doc = " },"]
6189 #[doc = " \"gas\": {"]
6190 #[doc = " \"type\": \"integer\","]
6191 #[doc = " \"format\": \"uint64\","]
6192 #[doc = " \"minimum\": 0.0"]
6193 #[doc = " },"]
6194 #[doc = " \"method_name\": {"]
6195 #[doc = " \"type\": \"string\""]
6196 #[doc = " }"]
6197 #[doc = " }"]
6198 #[doc = "}"]
6199 #[doc = r" ```"]
6200 #[doc = r" </details>"]
6201 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6202 pub struct FunctionCallAction {
6203 pub args: ::std::string::String,
6204 pub deposit: ::std::string::String,
6205 pub gas: u64,
6206 pub method_name: ::std::string::String,
6207 }
6208 impl ::std::convert::From<&FunctionCallAction> for FunctionCallAction {
6209 fn from(value: &FunctionCallAction) -> Self {
6210 value.clone()
6211 }
6212 }
6213 #[doc = "Serializable version of `near-vm-runner::FunctionCallError`.\n\n Must never reorder/remove elements, can only add new variants at the end (but do that very\n carefully). It describes stable serialization format, and only used by serialization logic."]
6214 #[doc = r""]
6215 #[doc = r" <details><summary>JSON schema</summary>"]
6216 #[doc = r""]
6217 #[doc = r" ```json"]
6218 #[doc = "{"]
6219 #[doc = " \"description\": \"Serializable version of `near-vm-runner::FunctionCallError`.\\n\\n Must never reorder/remove elements, can only add new variants at the end (but do that very\\n carefully). It describes stable serialization format, and only used by serialization logic.\","]
6220 #[doc = " \"oneOf\": ["]
6221 #[doc = " {"]
6222 #[doc = " \"type\": \"string\","]
6223 #[doc = " \"enum\": ["]
6224 #[doc = " \"WasmUnknownError\","]
6225 #[doc = " \"_EVMError\""]
6226 #[doc = " ]"]
6227 #[doc = " },"]
6228 #[doc = " {"]
6229 #[doc = " \"description\": \"Wasm compilation error\","]
6230 #[doc = " \"type\": \"object\","]
6231 #[doc = " \"required\": ["]
6232 #[doc = " \"CompilationError\""]
6233 #[doc = " ],"]
6234 #[doc = " \"properties\": {"]
6235 #[doc = " \"CompilationError\": {"]
6236 #[doc = " \"$ref\": \"#/components/schemas/CompilationError\""]
6237 #[doc = " }"]
6238 #[doc = " },"]
6239 #[doc = " \"additionalProperties\": false"]
6240 #[doc = " },"]
6241 #[doc = " {"]
6242 #[doc = " \"description\": \"Wasm binary env link error\\n\\n Note: this is only to deserialize old data, use execution error for new data\","]
6243 #[doc = " \"type\": \"object\","]
6244 #[doc = " \"required\": ["]
6245 #[doc = " \"LinkError\""]
6246 #[doc = " ],"]
6247 #[doc = " \"properties\": {"]
6248 #[doc = " \"LinkError\": {"]
6249 #[doc = " \"type\": \"object\","]
6250 #[doc = " \"required\": ["]
6251 #[doc = " \"msg\""]
6252 #[doc = " ],"]
6253 #[doc = " \"properties\": {"]
6254 #[doc = " \"msg\": {"]
6255 #[doc = " \"type\": \"string\""]
6256 #[doc = " }"]
6257 #[doc = " }"]
6258 #[doc = " }"]
6259 #[doc = " },"]
6260 #[doc = " \"additionalProperties\": false"]
6261 #[doc = " },"]
6262 #[doc = " {"]
6263 #[doc = " \"description\": \"Import/export resolve error\","]
6264 #[doc = " \"type\": \"object\","]
6265 #[doc = " \"required\": ["]
6266 #[doc = " \"MethodResolveError\""]
6267 #[doc = " ],"]
6268 #[doc = " \"properties\": {"]
6269 #[doc = " \"MethodResolveError\": {"]
6270 #[doc = " \"$ref\": \"#/components/schemas/MethodResolveError\""]
6271 #[doc = " }"]
6272 #[doc = " },"]
6273 #[doc = " \"additionalProperties\": false"]
6274 #[doc = " },"]
6275 #[doc = " {"]
6276 #[doc = " \"description\": \"A trap happened during execution of a binary\\n\\n Note: this is only to deserialize old data, use execution error for new data\","]
6277 #[doc = " \"type\": \"object\","]
6278 #[doc = " \"required\": ["]
6279 #[doc = " \"WasmTrap\""]
6280 #[doc = " ],"]
6281 #[doc = " \"properties\": {"]
6282 #[doc = " \"WasmTrap\": {"]
6283 #[doc = " \"$ref\": \"#/components/schemas/WasmTrap\""]
6284 #[doc = " }"]
6285 #[doc = " },"]
6286 #[doc = " \"additionalProperties\": false"]
6287 #[doc = " },"]
6288 #[doc = " {"]
6289 #[doc = " \"description\": \"Note: this is only to deserialize old data, use execution error for new data\","]
6290 #[doc = " \"type\": \"object\","]
6291 #[doc = " \"required\": ["]
6292 #[doc = " \"HostError\""]
6293 #[doc = " ],"]
6294 #[doc = " \"properties\": {"]
6295 #[doc = " \"HostError\": {"]
6296 #[doc = " \"$ref\": \"#/components/schemas/HostError\""]
6297 #[doc = " }"]
6298 #[doc = " },"]
6299 #[doc = " \"additionalProperties\": false"]
6300 #[doc = " },"]
6301 #[doc = " {"]
6302 #[doc = " \"type\": \"object\","]
6303 #[doc = " \"required\": ["]
6304 #[doc = " \"ExecutionError\""]
6305 #[doc = " ],"]
6306 #[doc = " \"properties\": {"]
6307 #[doc = " \"ExecutionError\": {"]
6308 #[doc = " \"type\": \"string\""]
6309 #[doc = " }"]
6310 #[doc = " },"]
6311 #[doc = " \"additionalProperties\": false"]
6312 #[doc = " }"]
6313 #[doc = " ]"]
6314 #[doc = "}"]
6315 #[doc = r" ```"]
6316 #[doc = r" </details>"]
6317 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6318 pub enum FunctionCallError {
6319 WasmUnknownError,
6320 #[serde(rename = "_EVMError")]
6321 EvmError,
6322 #[doc = "Wasm compilation error"]
6323 CompilationError(CompilationError),
6324 #[doc = "Wasm binary env link error\n\n Note: this is only to deserialize old data, use execution error for new data"]
6325 LinkError {
6326 msg: ::std::string::String,
6327 },
6328 #[doc = "Import/export resolve error"]
6329 MethodResolveError(MethodResolveError),
6330 #[doc = "A trap happened during execution of a binary\n\n Note: this is only to deserialize old data, use execution error for new data"]
6331 WasmTrap(WasmTrap),
6332 #[doc = "Note: this is only to deserialize old data, use execution error for new data"]
6333 HostError(HostError),
6334 ExecutionError(::std::string::String),
6335 }
6336 impl ::std::convert::From<&Self> for FunctionCallError {
6337 fn from(value: &FunctionCallError) -> Self {
6338 value.clone()
6339 }
6340 }
6341 impl ::std::convert::From<CompilationError> for FunctionCallError {
6342 fn from(value: CompilationError) -> Self {
6343 Self::CompilationError(value)
6344 }
6345 }
6346 impl ::std::convert::From<MethodResolveError> for FunctionCallError {
6347 fn from(value: MethodResolveError) -> Self {
6348 Self::MethodResolveError(value)
6349 }
6350 }
6351 impl ::std::convert::From<WasmTrap> for FunctionCallError {
6352 fn from(value: WasmTrap) -> Self {
6353 Self::WasmTrap(value)
6354 }
6355 }
6356 impl ::std::convert::From<HostError> for FunctionCallError {
6357 fn from(value: HostError) -> Self {
6358 Self::HostError(value)
6359 }
6360 }
6361 #[doc = "Grants limited permission to make transactions with FunctionCallActions\n The permission can limit the allowed balance to be spent on the prepaid gas.\n It also restrict the account ID of the receiver for this function call.\n It also can restrict the method name for the allowed function calls."]
6362 #[doc = r""]
6363 #[doc = r" <details><summary>JSON schema</summary>"]
6364 #[doc = r""]
6365 #[doc = r" ```json"]
6366 #[doc = "{"]
6367 #[doc = " \"description\": \"Grants limited permission to make transactions with FunctionCallActions\\n The permission can limit the allowed balance to be spent on the prepaid gas.\\n It also restrict the account ID of the receiver for this function call.\\n It also can restrict the method name for the allowed function calls.\","]
6368 #[doc = " \"type\": \"object\","]
6369 #[doc = " \"required\": ["]
6370 #[doc = " \"method_names\","]
6371 #[doc = " \"receiver_id\""]
6372 #[doc = " ],"]
6373 #[doc = " \"properties\": {"]
6374 #[doc = " \"allowance\": {"]
6375 #[doc = " \"description\": \"Allowance is a balance limit to use by this access key to pay for function call gas and\\n transaction fees. When this access key is used, both account balance and the allowance is\\n decreased by the same value.\\n `None` means unlimited allowance.\\n NOTE: To change or increase the allowance, the old access key needs to be deleted and a new\\n access key should be created.\","]
6376 #[doc = " \"type\": ["]
6377 #[doc = " \"string\","]
6378 #[doc = " \"null\""]
6379 #[doc = " ]"]
6380 #[doc = " },"]
6381 #[doc = " \"method_names\": {"]
6382 #[doc = " \"description\": \"A list of method names that can be used. The access key only allows transactions with the\\n function call of one of the given method names.\\n Empty list means any method name can be used.\","]
6383 #[doc = " \"type\": \"array\","]
6384 #[doc = " \"items\": {"]
6385 #[doc = " \"type\": \"string\""]
6386 #[doc = " }"]
6387 #[doc = " },"]
6388 #[doc = " \"receiver_id\": {"]
6389 #[doc = " \"description\": \"The access key only allows transactions with the given receiver's account id.\","]
6390 #[doc = " \"type\": \"string\""]
6391 #[doc = " }"]
6392 #[doc = " }"]
6393 #[doc = "}"]
6394 #[doc = r" ```"]
6395 #[doc = r" </details>"]
6396 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6397 pub struct FunctionCallPermission {
6398 #[doc = "Allowance is a balance limit to use by this access key to pay for function call gas and\n transaction fees. When this access key is used, both account balance and the allowance is\n decreased by the same value.\n `None` means unlimited allowance.\n NOTE: To change or increase the allowance, the old access key needs to be deleted and a new\n access key should be created."]
6399 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
6400 pub allowance: ::std::option::Option<::std::string::String>,
6401 #[doc = "A list of method names that can be used. The access key only allows transactions with the\n function call of one of the given method names.\n Empty list means any method name can be used."]
6402 pub method_names: ::std::vec::Vec<::std::string::String>,
6403 #[doc = "The access key only allows transactions with the given receiver's account id."]
6404 pub receiver_id: ::std::string::String,
6405 }
6406 impl ::std::convert::From<&FunctionCallPermission> for FunctionCallPermission {
6407 fn from(value: &FunctionCallPermission) -> Self {
6408 value.clone()
6409 }
6410 }
6411 #[doc = "Configuration for garbage collection."]
6412 #[doc = r""]
6413 #[doc = r" <details><summary>JSON schema</summary>"]
6414 #[doc = r""]
6415 #[doc = r" ```json"]
6416 #[doc = "{"]
6417 #[doc = " \"description\": \"Configuration for garbage collection.\","]
6418 #[doc = " \"type\": \"object\","]
6419 #[doc = " \"properties\": {"]
6420 #[doc = " \"gc_blocks_limit\": {"]
6421 #[doc = " \"description\": \"Maximum number of blocks to garbage collect at every garbage collection\\n call.\","]
6422 #[doc = " \"default\": 2,"]
6423 #[doc = " \"type\": \"integer\","]
6424 #[doc = " \"format\": \"uint64\","]
6425 #[doc = " \"minimum\": 0.0"]
6426 #[doc = " },"]
6427 #[doc = " \"gc_fork_clean_step\": {"]
6428 #[doc = " \"description\": \"Maximum number of height to go through at each garbage collection step\\n when cleaning forks during garbage collection.\","]
6429 #[doc = " \"default\": 100,"]
6430 #[doc = " \"type\": \"integer\","]
6431 #[doc = " \"format\": \"uint64\","]
6432 #[doc = " \"minimum\": 0.0"]
6433 #[doc = " },"]
6434 #[doc = " \"gc_num_epochs_to_keep\": {"]
6435 #[doc = " \"description\": \"Number of epochs for which we keep store data.\","]
6436 #[doc = " \"default\": 5,"]
6437 #[doc = " \"type\": \"integer\","]
6438 #[doc = " \"format\": \"uint64\","]
6439 #[doc = " \"minimum\": 0.0"]
6440 #[doc = " },"]
6441 #[doc = " \"gc_step_period\": {"]
6442 #[doc = " \"description\": \"How often gc should be run\","]
6443 #[doc = " \"default\": {"]
6444 #[doc = " \"nanos\": 0,"]
6445 #[doc = " \"secs\": 1"]
6446 #[doc = " },"]
6447 #[doc = " \"allOf\": ["]
6448 #[doc = " {"]
6449 #[doc = " \"$ref\": \"#/components/schemas/DurationAsStdSchemaProvider\""]
6450 #[doc = " }"]
6451 #[doc = " ]"]
6452 #[doc = " }"]
6453 #[doc = " }"]
6454 #[doc = "}"]
6455 #[doc = r" ```"]
6456 #[doc = r" </details>"]
6457 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6458 pub struct GcConfig {
6459 #[doc = "Maximum number of blocks to garbage collect at every garbage collection\n call."]
6460 #[serde(default = "defaults::default_u64::<u64, 2>")]
6461 pub gc_blocks_limit: u64,
6462 #[doc = "Maximum number of height to go through at each garbage collection step\n when cleaning forks during garbage collection."]
6463 #[serde(default = "defaults::default_u64::<u64, 100>")]
6464 pub gc_fork_clean_step: u64,
6465 #[doc = "Number of epochs for which we keep store data."]
6466 #[serde(default = "defaults::default_u64::<u64, 5>")]
6467 pub gc_num_epochs_to_keep: u64,
6468 #[doc = "How often gc should be run"]
6469 #[serde(default = "defaults::gc_config_gc_step_period")]
6470 pub gc_step_period: DurationAsStdSchemaProvider,
6471 }
6472 impl ::std::convert::From<&GcConfig> for GcConfig {
6473 fn from(value: &GcConfig) -> Self {
6474 value.clone()
6475 }
6476 }
6477 impl ::std::default::Default for GcConfig {
6478 fn default() -> Self {
6479 Self {
6480 gc_blocks_limit: defaults::default_u64::<u64, 2>(),
6481 gc_fork_clean_step: defaults::default_u64::<u64, 100>(),
6482 gc_num_epochs_to_keep: defaults::default_u64::<u64, 5>(),
6483 gc_step_period: defaults::gc_config_gc_step_period(),
6484 }
6485 }
6486 }
6487 #[doc = "`GenesisConfig`"]
6488 #[doc = r""]
6489 #[doc = r" <details><summary>JSON schema</summary>"]
6490 #[doc = r""]
6491 #[doc = r" ```json"]
6492 #[doc = "{"]
6493 #[doc = " \"type\": \"object\","]
6494 #[doc = " \"required\": ["]
6495 #[doc = " \"avg_hidden_validator_seats_per_shard\","]
6496 #[doc = " \"block_producer_kickout_threshold\","]
6497 #[doc = " \"chain_id\","]
6498 #[doc = " \"chunk_producer_kickout_threshold\","]
6499 #[doc = " \"dynamic_resharding\","]
6500 #[doc = " \"epoch_length\","]
6501 #[doc = " \"fishermen_threshold\","]
6502 #[doc = " \"gas_limit\","]
6503 #[doc = " \"gas_price_adjustment_rate\","]
6504 #[doc = " \"genesis_height\","]
6505 #[doc = " \"genesis_time\","]
6506 #[doc = " \"max_gas_price\","]
6507 #[doc = " \"max_inflation_rate\","]
6508 #[doc = " \"min_gas_price\","]
6509 #[doc = " \"num_block_producer_seats\","]
6510 #[doc = " \"num_block_producer_seats_per_shard\","]
6511 #[doc = " \"num_blocks_per_year\","]
6512 #[doc = " \"protocol_reward_rate\","]
6513 #[doc = " \"protocol_treasury_account\","]
6514 #[doc = " \"protocol_version\","]
6515 #[doc = " \"total_supply\","]
6516 #[doc = " \"transaction_validity_period\","]
6517 #[doc = " \"validators\""]
6518 #[doc = " ],"]
6519 #[doc = " \"properties\": {"]
6520 #[doc = " \"avg_hidden_validator_seats_per_shard\": {"]
6521 #[doc = " \"description\": \"Expected number of hidden validators per shard.\","]
6522 #[doc = " \"type\": \"array\","]
6523 #[doc = " \"items\": {"]
6524 #[doc = " \"type\": \"integer\","]
6525 #[doc = " \"format\": \"uint64\","]
6526 #[doc = " \"minimum\": 0.0"]
6527 #[doc = " }"]
6528 #[doc = " },"]
6529 #[doc = " \"block_producer_kickout_threshold\": {"]
6530 #[doc = " \"description\": \"Threshold for kicking out block producers, between 0 and 100.\","]
6531 #[doc = " \"type\": \"integer\","]
6532 #[doc = " \"format\": \"uint8\","]
6533 #[doc = " \"minimum\": 0.0"]
6534 #[doc = " },"]
6535 #[doc = " \"chain_id\": {"]
6536 #[doc = " \"description\": \"ID of the blockchain. This must be unique for every blockchain.\\n If your testnet blockchains do not have unique chain IDs, you will have a bad time.\","]
6537 #[doc = " \"type\": \"string\""]
6538 #[doc = " },"]
6539 #[doc = " \"chunk_producer_assignment_changes_limit\": {"]
6540 #[doc = " \"description\": \"Limits the number of shard changes in chunk producer assignments,\\n if algorithm is able to choose assignment with better balance of\\n number of chunk producers for shards.\","]
6541 #[doc = " \"default\": 5,"]
6542 #[doc = " \"type\": \"integer\","]
6543 #[doc = " \"format\": \"uint64\","]
6544 #[doc = " \"minimum\": 0.0"]
6545 #[doc = " },"]
6546 #[doc = " \"chunk_producer_kickout_threshold\": {"]
6547 #[doc = " \"description\": \"Threshold for kicking out chunk producers, between 0 and 100.\","]
6548 #[doc = " \"type\": \"integer\","]
6549 #[doc = " \"format\": \"uint8\","]
6550 #[doc = " \"minimum\": 0.0"]
6551 #[doc = " },"]
6552 #[doc = " \"chunk_validator_only_kickout_threshold\": {"]
6553 #[doc = " \"description\": \"Threshold for kicking out nodes which are only chunk validators, between 0 and 100.\","]
6554 #[doc = " \"default\": 80,"]
6555 #[doc = " \"type\": \"integer\","]
6556 #[doc = " \"format\": \"uint8\","]
6557 #[doc = " \"minimum\": 0.0"]
6558 #[doc = " },"]
6559 #[doc = " \"dynamic_resharding\": {"]
6560 #[doc = " \"description\": \"Enable dynamic re-sharding.\","]
6561 #[doc = " \"type\": \"boolean\""]
6562 #[doc = " },"]
6563 #[doc = " \"epoch_length\": {"]
6564 #[doc = " \"description\": \"Epoch length counted in block heights.\","]
6565 #[doc = " \"type\": \"integer\","]
6566 #[doc = " \"format\": \"uint64\","]
6567 #[doc = " \"minimum\": 0.0"]
6568 #[doc = " },"]
6569 #[doc = " \"fishermen_threshold\": {"]
6570 #[doc = " \"description\": \"Fishermen stake threshold.\","]
6571 #[doc = " \"type\": \"string\""]
6572 #[doc = " },"]
6573 #[doc = " \"gas_limit\": {"]
6574 #[doc = " \"description\": \"Initial gas limit.\","]
6575 #[doc = " \"type\": \"integer\","]
6576 #[doc = " \"format\": \"uint64\","]
6577 #[doc = " \"minimum\": 0.0"]
6578 #[doc = " },"]
6579 #[doc = " \"gas_price_adjustment_rate\": {"]
6580 #[doc = " \"description\": \"Gas price adjustment rate\","]
6581 #[doc = " \"type\": \"array\","]
6582 #[doc = " \"items\": {"]
6583 #[doc = " \"type\": \"integer\","]
6584 #[doc = " \"format\": \"int32\""]
6585 #[doc = " },"]
6586 #[doc = " \"maxItems\": 2,"]
6587 #[doc = " \"minItems\": 2"]
6588 #[doc = " },"]
6589 #[doc = " \"genesis_height\": {"]
6590 #[doc = " \"description\": \"Height of genesis block.\","]
6591 #[doc = " \"type\": \"integer\","]
6592 #[doc = " \"format\": \"uint64\","]
6593 #[doc = " \"minimum\": 0.0"]
6594 #[doc = " },"]
6595 #[doc = " \"genesis_time\": {"]
6596 #[doc = " \"description\": \"Official time of blockchain start.\","]
6597 #[doc = " \"type\": \"string\","]
6598 #[doc = " \"format\": \"date-time\""]
6599 #[doc = " },"]
6600 #[doc = " \"max_gas_price\": {"]
6601 #[doc = " \"type\": \"string\""]
6602 #[doc = " },"]
6603 #[doc = " \"max_inflation_rate\": {"]
6604 #[doc = " \"description\": \"Maximum inflation on the total supply every epoch.\","]
6605 #[doc = " \"type\": \"array\","]
6606 #[doc = " \"items\": {"]
6607 #[doc = " \"type\": \"integer\","]
6608 #[doc = " \"format\": \"int32\""]
6609 #[doc = " },"]
6610 #[doc = " \"maxItems\": 2,"]
6611 #[doc = " \"minItems\": 2"]
6612 #[doc = " },"]
6613 #[doc = " \"max_kickout_stake_perc\": {"]
6614 #[doc = " \"description\": \"Max stake percentage of the validators we will kick out.\","]
6615 #[doc = " \"default\": 100,"]
6616 #[doc = " \"type\": \"integer\","]
6617 #[doc = " \"format\": \"uint8\","]
6618 #[doc = " \"minimum\": 0.0"]
6619 #[doc = " },"]
6620 #[doc = " \"min_gas_price\": {"]
6621 #[doc = " \"description\": \"Minimum gas price. It is also the initial gas price.\","]
6622 #[doc = " \"type\": \"string\""]
6623 #[doc = " },"]
6624 #[doc = " \"minimum_stake_divisor\": {"]
6625 #[doc = " \"description\": \"The minimum stake required for staking is last seat price divided by this number.\","]
6626 #[doc = " \"default\": 10,"]
6627 #[doc = " \"type\": \"integer\","]
6628 #[doc = " \"format\": \"uint64\","]
6629 #[doc = " \"minimum\": 0.0"]
6630 #[doc = " },"]
6631 #[doc = " \"minimum_stake_ratio\": {"]
6632 #[doc = " \"description\": \"The lowest ratio s/s_total any block producer can have.\\n See <https://github.com/near/NEPs/pull/167> for details\","]
6633 #[doc = " \"default\": ["]
6634 #[doc = " 1,"]
6635 #[doc = " 6250"]
6636 #[doc = " ],"]
6637 #[doc = " \"type\": \"array\","]
6638 #[doc = " \"items\": {"]
6639 #[doc = " \"type\": \"integer\","]
6640 #[doc = " \"format\": \"int32\""]
6641 #[doc = " },"]
6642 #[doc = " \"maxItems\": 2,"]
6643 #[doc = " \"minItems\": 2"]
6644 #[doc = " },"]
6645 #[doc = " \"minimum_validators_per_shard\": {"]
6646 #[doc = " \"description\": \"The minimum number of validators each shard must have\","]
6647 #[doc = " \"default\": 1,"]
6648 #[doc = " \"type\": \"integer\","]
6649 #[doc = " \"format\": \"uint64\","]
6650 #[doc = " \"minimum\": 0.0"]
6651 #[doc = " },"]
6652 #[doc = " \"num_block_producer_seats\": {"]
6653 #[doc = " \"description\": \"Number of block producer seats at genesis.\","]
6654 #[doc = " \"type\": \"integer\","]
6655 #[doc = " \"format\": \"uint64\","]
6656 #[doc = " \"minimum\": 0.0"]
6657 #[doc = " },"]
6658 #[doc = " \"num_block_producer_seats_per_shard\": {"]
6659 #[doc = " \"description\": \"Defines number of shards and number of block producer seats per each shard at genesis.\\n Note: not used with protocol_feature_chunk_only_producers -- replaced by minimum_validators_per_shard\\n Note: not used before as all block producers produce chunks for all shards\","]
6660 #[doc = " \"type\": \"array\","]
6661 #[doc = " \"items\": {"]
6662 #[doc = " \"type\": \"integer\","]
6663 #[doc = " \"format\": \"uint64\","]
6664 #[doc = " \"minimum\": 0.0"]
6665 #[doc = " }"]
6666 #[doc = " },"]
6667 #[doc = " \"num_blocks_per_year\": {"]
6668 #[doc = " \"description\": \"Expected number of blocks per year\","]
6669 #[doc = " \"type\": \"integer\","]
6670 #[doc = " \"format\": \"uint64\","]
6671 #[doc = " \"minimum\": 0.0"]
6672 #[doc = " },"]
6673 #[doc = " \"num_chunk_only_producer_seats\": {"]
6674 #[doc = " \"description\": \"Deprecated.\","]
6675 #[doc = " \"default\": 300,"]
6676 #[doc = " \"type\": \"integer\","]
6677 #[doc = " \"format\": \"uint64\","]
6678 #[doc = " \"minimum\": 0.0"]
6679 #[doc = " },"]
6680 #[doc = " \"num_chunk_producer_seats\": {"]
6681 #[doc = " \"description\": \"Number of chunk producers.\\n Don't mess it up with chunk-only producers feature which is deprecated.\","]
6682 #[doc = " \"default\": 100,"]
6683 #[doc = " \"type\": \"integer\","]
6684 #[doc = " \"format\": \"uint64\","]
6685 #[doc = " \"minimum\": 0.0"]
6686 #[doc = " },"]
6687 #[doc = " \"num_chunk_validator_seats\": {"]
6688 #[doc = " \"default\": 300,"]
6689 #[doc = " \"type\": \"integer\","]
6690 #[doc = " \"format\": \"uint64\","]
6691 #[doc = " \"minimum\": 0.0"]
6692 #[doc = " },"]
6693 #[doc = " \"online_max_threshold\": {"]
6694 #[doc = " \"description\": \"Online maximum threshold above which validator gets full reward.\","]
6695 #[doc = " \"default\": ["]
6696 #[doc = " 99,"]
6697 #[doc = " 100"]
6698 #[doc = " ],"]
6699 #[doc = " \"type\": \"array\","]
6700 #[doc = " \"items\": {"]
6701 #[doc = " \"type\": \"integer\","]
6702 #[doc = " \"format\": \"int32\""]
6703 #[doc = " },"]
6704 #[doc = " \"maxItems\": 2,"]
6705 #[doc = " \"minItems\": 2"]
6706 #[doc = " },"]
6707 #[doc = " \"online_min_threshold\": {"]
6708 #[doc = " \"description\": \"Online minimum threshold below which validator doesn't receive reward.\","]
6709 #[doc = " \"default\": ["]
6710 #[doc = " 9,"]
6711 #[doc = " 10"]
6712 #[doc = " ],"]
6713 #[doc = " \"type\": \"array\","]
6714 #[doc = " \"items\": {"]
6715 #[doc = " \"type\": \"integer\","]
6716 #[doc = " \"format\": \"int32\""]
6717 #[doc = " },"]
6718 #[doc = " \"maxItems\": 2,"]
6719 #[doc = " \"minItems\": 2"]
6720 #[doc = " },"]
6721 #[doc = " \"protocol_reward_rate\": {"]
6722 #[doc = " \"description\": \"Protocol treasury rate\","]
6723 #[doc = " \"type\": \"array\","]
6724 #[doc = " \"items\": {"]
6725 #[doc = " \"type\": \"integer\","]
6726 #[doc = " \"format\": \"int32\""]
6727 #[doc = " },"]
6728 #[doc = " \"maxItems\": 2,"]
6729 #[doc = " \"minItems\": 2"]
6730 #[doc = " },"]
6731 #[doc = " \"protocol_treasury_account\": {"]
6732 #[doc = " \"description\": \"Protocol treasury account\","]
6733 #[doc = " \"allOf\": ["]
6734 #[doc = " {"]
6735 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
6736 #[doc = " }"]
6737 #[doc = " ]"]
6738 #[doc = " },"]
6739 #[doc = " \"protocol_upgrade_stake_threshold\": {"]
6740 #[doc = " \"description\": \"Threshold of stake that needs to indicate that they ready for upgrade.\","]
6741 #[doc = " \"default\": ["]
6742 #[doc = " 4,"]
6743 #[doc = " 5"]
6744 #[doc = " ],"]
6745 #[doc = " \"type\": \"array\","]
6746 #[doc = " \"items\": {"]
6747 #[doc = " \"type\": \"integer\","]
6748 #[doc = " \"format\": \"int32\""]
6749 #[doc = " },"]
6750 #[doc = " \"maxItems\": 2,"]
6751 #[doc = " \"minItems\": 2"]
6752 #[doc = " },"]
6753 #[doc = " \"protocol_version\": {"]
6754 #[doc = " \"description\": \"Protocol version that this genesis works with.\","]
6755 #[doc = " \"type\": \"integer\","]
6756 #[doc = " \"format\": \"uint32\","]
6757 #[doc = " \"minimum\": 0.0"]
6758 #[doc = " },"]
6759 #[doc = " \"shard_layout\": {"]
6760 #[doc = " \"description\": \"Layout information regarding how to split accounts to shards\","]
6761 #[doc = " \"default\": {"]
6762 #[doc = " \"V2\": {"]
6763 #[doc = " \"boundary_accounts\": [],"]
6764 #[doc = " \"id_to_index_map\": {"]
6765 #[doc = " \"0\": 0"]
6766 #[doc = " },"]
6767 #[doc = " \"index_to_id_map\": {"]
6768 #[doc = " \"0\": 0"]
6769 #[doc = " },"]
6770 #[doc = " \"shard_ids\": ["]
6771 #[doc = " 0"]
6772 #[doc = " ],"]
6773 #[doc = " \"shards_parent_map\": null,"]
6774 #[doc = " \"shards_split_map\": null,"]
6775 #[doc = " \"version\": 0"]
6776 #[doc = " }"]
6777 #[doc = " },"]
6778 #[doc = " \"allOf\": ["]
6779 #[doc = " {"]
6780 #[doc = " \"$ref\": \"#/components/schemas/ShardLayout\""]
6781 #[doc = " }"]
6782 #[doc = " ]"]
6783 #[doc = " },"]
6784 #[doc = " \"shuffle_shard_assignment_for_chunk_producers\": {"]
6785 #[doc = " \"description\": \"If true, shuffle the chunk producers across shards. In other words, if\\n the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents\\n the set of chunk producers for shard `i`, if this flag were true, the\\n shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`.\","]
6786 #[doc = " \"default\": false,"]
6787 #[doc = " \"type\": \"boolean\""]
6788 #[doc = " },"]
6789 #[doc = " \"target_validator_mandates_per_shard\": {"]
6790 #[doc = " \"description\": \"Number of target chunk validator mandates for each shard.\","]
6791 #[doc = " \"default\": 68,"]
6792 #[doc = " \"type\": \"integer\","]
6793 #[doc = " \"format\": \"uint64\","]
6794 #[doc = " \"minimum\": 0.0"]
6795 #[doc = " },"]
6796 #[doc = " \"total_supply\": {"]
6797 #[doc = " \"description\": \"Total supply of tokens at genesis.\","]
6798 #[doc = " \"type\": \"string\""]
6799 #[doc = " },"]
6800 #[doc = " \"transaction_validity_period\": {"]
6801 #[doc = " \"description\": \"Number of blocks for which a given transaction is valid\","]
6802 #[doc = " \"type\": \"integer\","]
6803 #[doc = " \"format\": \"uint64\","]
6804 #[doc = " \"minimum\": 0.0"]
6805 #[doc = " },"]
6806 #[doc = " \"use_production_config\": {"]
6807 #[doc = " \"description\": \"This is only for test purposes. We hard code some configs for mainnet and testnet\\n in AllEpochConfig, and we want to have a way to test that code path. This flag is for that.\\n If set to true, the node will use the same config override path as mainnet and testnet.\","]
6808 #[doc = " \"default\": false,"]
6809 #[doc = " \"type\": \"boolean\""]
6810 #[doc = " },"]
6811 #[doc = " \"validators\": {"]
6812 #[doc = " \"description\": \"List of initial validators.\","]
6813 #[doc = " \"type\": \"array\","]
6814 #[doc = " \"items\": {"]
6815 #[doc = " \"$ref\": \"#/components/schemas/AccountInfo\""]
6816 #[doc = " }"]
6817 #[doc = " }"]
6818 #[doc = " }"]
6819 #[doc = "}"]
6820 #[doc = r" ```"]
6821 #[doc = r" </details>"]
6822 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6823 pub struct GenesisConfig {
6824 #[doc = "Expected number of hidden validators per shard."]
6825 pub avg_hidden_validator_seats_per_shard: ::std::vec::Vec<u64>,
6826 #[doc = "Threshold for kicking out block producers, between 0 and 100."]
6827 pub block_producer_kickout_threshold: u8,
6828 #[doc = "ID of the blockchain. This must be unique for every blockchain.\n If your testnet blockchains do not have unique chain IDs, you will have a bad time."]
6829 pub chain_id: ::std::string::String,
6830 #[doc = "Limits the number of shard changes in chunk producer assignments,\n if algorithm is able to choose assignment with better balance of\n number of chunk producers for shards."]
6831 #[serde(default = "defaults::default_u64::<u64, 5>")]
6832 pub chunk_producer_assignment_changes_limit: u64,
6833 #[doc = "Threshold for kicking out chunk producers, between 0 and 100."]
6834 pub chunk_producer_kickout_threshold: u8,
6835 #[doc = "Threshold for kicking out nodes which are only chunk validators, between 0 and 100."]
6836 #[serde(default = "defaults::default_u64::<u8, 80>")]
6837 pub chunk_validator_only_kickout_threshold: u8,
6838 #[doc = "Enable dynamic re-sharding."]
6839 pub dynamic_resharding: bool,
6840 #[doc = "Epoch length counted in block heights."]
6841 pub epoch_length: u64,
6842 #[doc = "Fishermen stake threshold."]
6843 pub fishermen_threshold: ::std::string::String,
6844 #[doc = "Initial gas limit."]
6845 pub gas_limit: u64,
6846 #[doc = "Gas price adjustment rate"]
6847 pub gas_price_adjustment_rate: [i32; 2usize],
6848 #[doc = "Height of genesis block."]
6849 pub genesis_height: u64,
6850 #[doc = "Official time of blockchain start."]
6851 pub genesis_time: ::chrono::DateTime<::chrono::offset::Utc>,
6852 pub max_gas_price: ::std::string::String,
6853 #[doc = "Maximum inflation on the total supply every epoch."]
6854 pub max_inflation_rate: [i32; 2usize],
6855 #[doc = "Max stake percentage of the validators we will kick out."]
6856 #[serde(default = "defaults::default_u64::<u8, 100>")]
6857 pub max_kickout_stake_perc: u8,
6858 #[doc = "Minimum gas price. It is also the initial gas price."]
6859 pub min_gas_price: ::std::string::String,
6860 #[doc = "The minimum stake required for staking is last seat price divided by this number."]
6861 #[serde(default = "defaults::default_u64::<u64, 10>")]
6862 pub minimum_stake_divisor: u64,
6863 #[doc = "The lowest ratio s/s_total any block producer can have.\n See <https://github.com/near/NEPs/pull/167> for details"]
6864 #[serde(default = "defaults::genesis_config_minimum_stake_ratio")]
6865 pub minimum_stake_ratio: [i32; 2usize],
6866 #[doc = "The minimum number of validators each shard must have"]
6867 #[serde(default = "defaults::default_u64::<u64, 1>")]
6868 pub minimum_validators_per_shard: u64,
6869 #[doc = "Number of block producer seats at genesis."]
6870 pub num_block_producer_seats: u64,
6871 #[doc = "Defines number of shards and number of block producer seats per each shard at genesis.\n Note: not used with protocol_feature_chunk_only_producers -- replaced by minimum_validators_per_shard\n Note: not used before as all block producers produce chunks for all shards"]
6872 pub num_block_producer_seats_per_shard: ::std::vec::Vec<u64>,
6873 #[doc = "Expected number of blocks per year"]
6874 pub num_blocks_per_year: u64,
6875 #[doc = "Deprecated."]
6876 #[serde(default = "defaults::default_u64::<u64, 300>")]
6877 pub num_chunk_only_producer_seats: u64,
6878 #[doc = "Number of chunk producers.\n Don't mess it up with chunk-only producers feature which is deprecated."]
6879 #[serde(default = "defaults::default_u64::<u64, 100>")]
6880 pub num_chunk_producer_seats: u64,
6881 #[serde(default = "defaults::default_u64::<u64, 300>")]
6882 pub num_chunk_validator_seats: u64,
6883 #[doc = "Online maximum threshold above which validator gets full reward."]
6884 #[serde(default = "defaults::genesis_config_online_max_threshold")]
6885 pub online_max_threshold: [i32; 2usize],
6886 #[doc = "Online minimum threshold below which validator doesn't receive reward."]
6887 #[serde(default = "defaults::genesis_config_online_min_threshold")]
6888 pub online_min_threshold: [i32; 2usize],
6889 #[doc = "Protocol treasury rate"]
6890 pub protocol_reward_rate: [i32; 2usize],
6891 #[doc = "Protocol treasury account"]
6892 pub protocol_treasury_account: AccountId,
6893 #[doc = "Threshold of stake that needs to indicate that they ready for upgrade."]
6894 #[serde(default = "defaults::genesis_config_protocol_upgrade_stake_threshold")]
6895 pub protocol_upgrade_stake_threshold: [i32; 2usize],
6896 #[doc = "Protocol version that this genesis works with."]
6897 pub protocol_version: u32,
6898 #[doc = "Layout information regarding how to split accounts to shards"]
6899 #[serde(default = "defaults::genesis_config_shard_layout")]
6900 pub shard_layout: ShardLayout,
6901 #[doc = "If true, shuffle the chunk producers across shards. In other words, if\n the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents\n the set of chunk producers for shard `i`, if this flag were true, the\n shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`."]
6902 #[serde(default)]
6903 pub shuffle_shard_assignment_for_chunk_producers: bool,
6904 #[doc = "Number of target chunk validator mandates for each shard."]
6905 #[serde(default = "defaults::default_u64::<u64, 68>")]
6906 pub target_validator_mandates_per_shard: u64,
6907 #[doc = "Total supply of tokens at genesis."]
6908 pub total_supply: ::std::string::String,
6909 #[doc = "Number of blocks for which a given transaction is valid"]
6910 pub transaction_validity_period: u64,
6911 #[doc = "This is only for test purposes. We hard code some configs for mainnet and testnet\n in AllEpochConfig, and we want to have a way to test that code path. This flag is for that.\n If set to true, the node will use the same config override path as mainnet and testnet."]
6912 #[serde(default)]
6913 pub use_production_config: bool,
6914 #[doc = "List of initial validators."]
6915 pub validators: ::std::vec::Vec<AccountInfo>,
6916 }
6917 impl ::std::convert::From<&GenesisConfig> for GenesisConfig {
6918 fn from(value: &GenesisConfig) -> Self {
6919 value.clone()
6920 }
6921 }
6922 #[doc = "`GenesisConfigRequest`"]
6923 #[doc = r""]
6924 #[doc = r" <details><summary>JSON schema</summary>"]
6925 #[doc = r""]
6926 #[doc = r" ```json"]
6927 #[doc = "{"]
6928 #[doc = " \"title\": \"GenesisConfigRequest\","]
6929 #[doc = " \"type\": \"object\""]
6930 #[doc = "}"]
6931 #[doc = r" ```"]
6932 #[doc = r" </details>"]
6933 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
6934 #[serde(transparent)]
6935 pub struct GenesisConfigRequest(
6936 pub ::serde_json::Map<::std::string::String, ::serde_json::Value>,
6937 );
6938 impl ::std::ops::Deref for GenesisConfigRequest {
6939 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
6940 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
6941 &self.0
6942 }
6943 }
6944 impl ::std::convert::From<GenesisConfigRequest>
6945 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
6946 {
6947 fn from(value: GenesisConfigRequest) -> Self {
6948 value.0
6949 }
6950 }
6951 impl ::std::convert::From<&GenesisConfigRequest> for GenesisConfigRequest {
6952 fn from(value: &GenesisConfigRequest) -> Self {
6953 value.clone()
6954 }
6955 }
6956 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
6957 for GenesisConfigRequest
6958 {
6959 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
6960 Self(value)
6961 }
6962 }
6963 #[doc = "`GlobalContractDeployMode`"]
6964 #[doc = r""]
6965 #[doc = r" <details><summary>JSON schema</summary>"]
6966 #[doc = r""]
6967 #[doc = r" ```json"]
6968 #[doc = "{"]
6969 #[doc = " \"oneOf\": ["]
6970 #[doc = " {"]
6971 #[doc = " \"description\": \"Contract is deployed under its code hash.\\n Users will be able reference it by that hash.\\n This effectively makes the contract immutable.\","]
6972 #[doc = " \"type\": \"string\","]
6973 #[doc = " \"enum\": ["]
6974 #[doc = " \"CodeHash\""]
6975 #[doc = " ]"]
6976 #[doc = " },"]
6977 #[doc = " {"]
6978 #[doc = " \"description\": \"Contract is deployed under the owner account id.\\n Users will be able reference it by that account id.\\n This allows the owner to update the contract for all its users.\","]
6979 #[doc = " \"type\": \"string\","]
6980 #[doc = " \"enum\": ["]
6981 #[doc = " \"AccountId\""]
6982 #[doc = " ]"]
6983 #[doc = " }"]
6984 #[doc = " ]"]
6985 #[doc = "}"]
6986 #[doc = r" ```"]
6987 #[doc = r" </details>"]
6988 #[derive(
6989 :: serde :: Deserialize,
6990 :: serde :: Serialize,
6991 Clone,
6992 Copy,
6993 Debug,
6994 Eq,
6995 Hash,
6996 Ord,
6997 PartialEq,
6998 PartialOrd,
6999 )]
7000 pub enum GlobalContractDeployMode {
7001 #[doc = "Contract is deployed under its code hash.\n Users will be able reference it by that hash.\n This effectively makes the contract immutable."]
7002 CodeHash,
7003 #[doc = "Contract is deployed under the owner account id.\n Users will be able reference it by that account id.\n This allows the owner to update the contract for all its users."]
7004 AccountId,
7005 }
7006 impl ::std::convert::From<&Self> for GlobalContractDeployMode {
7007 fn from(value: &GlobalContractDeployMode) -> Self {
7008 value.clone()
7009 }
7010 }
7011 impl ::std::fmt::Display for GlobalContractDeployMode {
7012 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7013 match *self {
7014 Self::CodeHash => write!(f, "CodeHash"),
7015 Self::AccountId => write!(f, "AccountId"),
7016 }
7017 }
7018 }
7019 impl ::std::str::FromStr for GlobalContractDeployMode {
7020 type Err = self::error::ConversionError;
7021 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
7022 match value {
7023 "CodeHash" => Ok(Self::CodeHash),
7024 "AccountId" => Ok(Self::AccountId),
7025 _ => Err("invalid value".into()),
7026 }
7027 }
7028 }
7029 impl ::std::convert::TryFrom<&str> for GlobalContractDeployMode {
7030 type Error = self::error::ConversionError;
7031 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
7032 value.parse()
7033 }
7034 }
7035 impl ::std::convert::TryFrom<&::std::string::String> for GlobalContractDeployMode {
7036 type Error = self::error::ConversionError;
7037 fn try_from(
7038 value: &::std::string::String,
7039 ) -> ::std::result::Result<Self, self::error::ConversionError> {
7040 value.parse()
7041 }
7042 }
7043 impl ::std::convert::TryFrom<::std::string::String> for GlobalContractDeployMode {
7044 type Error = self::error::ConversionError;
7045 fn try_from(
7046 value: ::std::string::String,
7047 ) -> ::std::result::Result<Self, self::error::ConversionError> {
7048 value.parse()
7049 }
7050 }
7051 #[doc = "`GlobalContractIdentifier`"]
7052 #[doc = r""]
7053 #[doc = r" <details><summary>JSON schema</summary>"]
7054 #[doc = r""]
7055 #[doc = r" ```json"]
7056 #[doc = "{"]
7057 #[doc = " \"oneOf\": ["]
7058 #[doc = " {"]
7059 #[doc = " \"type\": \"object\","]
7060 #[doc = " \"required\": ["]
7061 #[doc = " \"CodeHash\""]
7062 #[doc = " ],"]
7063 #[doc = " \"properties\": {"]
7064 #[doc = " \"CodeHash\": {"]
7065 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
7066 #[doc = " }"]
7067 #[doc = " },"]
7068 #[doc = " \"additionalProperties\": false"]
7069 #[doc = " },"]
7070 #[doc = " {"]
7071 #[doc = " \"type\": \"object\","]
7072 #[doc = " \"required\": ["]
7073 #[doc = " \"AccountId\""]
7074 #[doc = " ],"]
7075 #[doc = " \"properties\": {"]
7076 #[doc = " \"AccountId\": {"]
7077 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
7078 #[doc = " }"]
7079 #[doc = " },"]
7080 #[doc = " \"additionalProperties\": false"]
7081 #[doc = " }"]
7082 #[doc = " ]"]
7083 #[doc = "}"]
7084 #[doc = r" ```"]
7085 #[doc = r" </details>"]
7086 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
7087 pub enum GlobalContractIdentifier {
7088 CodeHash(CryptoHash),
7089 AccountId(AccountId),
7090 }
7091 impl ::std::convert::From<&Self> for GlobalContractIdentifier {
7092 fn from(value: &GlobalContractIdentifier) -> Self {
7093 value.clone()
7094 }
7095 }
7096 impl ::std::convert::From<CryptoHash> for GlobalContractIdentifier {
7097 fn from(value: CryptoHash) -> Self {
7098 Self::CodeHash(value)
7099 }
7100 }
7101 impl ::std::convert::From<AccountId> for GlobalContractIdentifier {
7102 fn from(value: AccountId) -> Self {
7103 Self::AccountId(value)
7104 }
7105 }
7106 #[doc = "`HostError`"]
7107 #[doc = r""]
7108 #[doc = r" <details><summary>JSON schema</summary>"]
7109 #[doc = r""]
7110 #[doc = r" ```json"]
7111 #[doc = "{"]
7112 #[doc = " \"oneOf\": ["]
7113 #[doc = " {"]
7114 #[doc = " \"description\": \"String encoding is bad UTF-16 sequence\","]
7115 #[doc = " \"type\": \"string\","]
7116 #[doc = " \"enum\": ["]
7117 #[doc = " \"BadUTF16\""]
7118 #[doc = " ]"]
7119 #[doc = " },"]
7120 #[doc = " {"]
7121 #[doc = " \"description\": \"String encoding is bad UTF-8 sequence\","]
7122 #[doc = " \"type\": \"string\","]
7123 #[doc = " \"enum\": ["]
7124 #[doc = " \"BadUTF8\""]
7125 #[doc = " ]"]
7126 #[doc = " },"]
7127 #[doc = " {"]
7128 #[doc = " \"description\": \"Exceeded the prepaid gas\","]
7129 #[doc = " \"type\": \"string\","]
7130 #[doc = " \"enum\": ["]
7131 #[doc = " \"GasExceeded\""]
7132 #[doc = " ]"]
7133 #[doc = " },"]
7134 #[doc = " {"]
7135 #[doc = " \"description\": \"Exceeded the maximum amount of gas allowed to burn per contract\","]
7136 #[doc = " \"type\": \"string\","]
7137 #[doc = " \"enum\": ["]
7138 #[doc = " \"GasLimitExceeded\""]
7139 #[doc = " ]"]
7140 #[doc = " },"]
7141 #[doc = " {"]
7142 #[doc = " \"description\": \"Exceeded the account balance\","]
7143 #[doc = " \"type\": \"string\","]
7144 #[doc = " \"enum\": ["]
7145 #[doc = " \"BalanceExceeded\""]
7146 #[doc = " ]"]
7147 #[doc = " },"]
7148 #[doc = " {"]
7149 #[doc = " \"description\": \"Tried to call an empty method name\","]
7150 #[doc = " \"type\": \"string\","]
7151 #[doc = " \"enum\": ["]
7152 #[doc = " \"EmptyMethodName\""]
7153 #[doc = " ]"]
7154 #[doc = " },"]
7155 #[doc = " {"]
7156 #[doc = " \"description\": \"Smart contract panicked\","]
7157 #[doc = " \"type\": \"object\","]
7158 #[doc = " \"required\": ["]
7159 #[doc = " \"GuestPanic\""]
7160 #[doc = " ],"]
7161 #[doc = " \"properties\": {"]
7162 #[doc = " \"GuestPanic\": {"]
7163 #[doc = " \"type\": \"object\","]
7164 #[doc = " \"required\": ["]
7165 #[doc = " \"panic_msg\""]
7166 #[doc = " ],"]
7167 #[doc = " \"properties\": {"]
7168 #[doc = " \"panic_msg\": {"]
7169 #[doc = " \"type\": \"string\""]
7170 #[doc = " }"]
7171 #[doc = " }"]
7172 #[doc = " }"]
7173 #[doc = " },"]
7174 #[doc = " \"additionalProperties\": false"]
7175 #[doc = " },"]
7176 #[doc = " {"]
7177 #[doc = " \"description\": \"IntegerOverflow happened during a contract execution\","]
7178 #[doc = " \"type\": \"string\","]
7179 #[doc = " \"enum\": ["]
7180 #[doc = " \"IntegerOverflow\""]
7181 #[doc = " ]"]
7182 #[doc = " },"]
7183 #[doc = " {"]
7184 #[doc = " \"description\": \"`promise_idx` does not correspond to existing promises\","]
7185 #[doc = " \"type\": \"object\","]
7186 #[doc = " \"required\": ["]
7187 #[doc = " \"InvalidPromiseIndex\""]
7188 #[doc = " ],"]
7189 #[doc = " \"properties\": {"]
7190 #[doc = " \"InvalidPromiseIndex\": {"]
7191 #[doc = " \"type\": \"object\","]
7192 #[doc = " \"required\": ["]
7193 #[doc = " \"promise_idx\""]
7194 #[doc = " ],"]
7195 #[doc = " \"properties\": {"]
7196 #[doc = " \"promise_idx\": {"]
7197 #[doc = " \"type\": \"integer\","]
7198 #[doc = " \"format\": \"uint64\","]
7199 #[doc = " \"minimum\": 0.0"]
7200 #[doc = " }"]
7201 #[doc = " }"]
7202 #[doc = " }"]
7203 #[doc = " },"]
7204 #[doc = " \"additionalProperties\": false"]
7205 #[doc = " },"]
7206 #[doc = " {"]
7207 #[doc = " \"description\": \"Actions can only be appended to non-joint promise.\","]
7208 #[doc = " \"type\": \"string\","]
7209 #[doc = " \"enum\": ["]
7210 #[doc = " \"CannotAppendActionToJointPromise\""]
7211 #[doc = " ]"]
7212 #[doc = " },"]
7213 #[doc = " {"]
7214 #[doc = " \"description\": \"Returning joint promise is currently prohibited\","]
7215 #[doc = " \"type\": \"string\","]
7216 #[doc = " \"enum\": ["]
7217 #[doc = " \"CannotReturnJointPromise\""]
7218 #[doc = " ]"]
7219 #[doc = " },"]
7220 #[doc = " {"]
7221 #[doc = " \"description\": \"Accessed invalid promise result index\","]
7222 #[doc = " \"type\": \"object\","]
7223 #[doc = " \"required\": ["]
7224 #[doc = " \"InvalidPromiseResultIndex\""]
7225 #[doc = " ],"]
7226 #[doc = " \"properties\": {"]
7227 #[doc = " \"InvalidPromiseResultIndex\": {"]
7228 #[doc = " \"type\": \"object\","]
7229 #[doc = " \"required\": ["]
7230 #[doc = " \"result_idx\""]
7231 #[doc = " ],"]
7232 #[doc = " \"properties\": {"]
7233 #[doc = " \"result_idx\": {"]
7234 #[doc = " \"type\": \"integer\","]
7235 #[doc = " \"format\": \"uint64\","]
7236 #[doc = " \"minimum\": 0.0"]
7237 #[doc = " }"]
7238 #[doc = " }"]
7239 #[doc = " }"]
7240 #[doc = " },"]
7241 #[doc = " \"additionalProperties\": false"]
7242 #[doc = " },"]
7243 #[doc = " {"]
7244 #[doc = " \"description\": \"Accessed invalid register id\","]
7245 #[doc = " \"type\": \"object\","]
7246 #[doc = " \"required\": ["]
7247 #[doc = " \"InvalidRegisterId\""]
7248 #[doc = " ],"]
7249 #[doc = " \"properties\": {"]
7250 #[doc = " \"InvalidRegisterId\": {"]
7251 #[doc = " \"type\": \"object\","]
7252 #[doc = " \"required\": ["]
7253 #[doc = " \"register_id\""]
7254 #[doc = " ],"]
7255 #[doc = " \"properties\": {"]
7256 #[doc = " \"register_id\": {"]
7257 #[doc = " \"type\": \"integer\","]
7258 #[doc = " \"format\": \"uint64\","]
7259 #[doc = " \"minimum\": 0.0"]
7260 #[doc = " }"]
7261 #[doc = " }"]
7262 #[doc = " }"]
7263 #[doc = " },"]
7264 #[doc = " \"additionalProperties\": false"]
7265 #[doc = " },"]
7266 #[doc = " {"]
7267 #[doc = " \"description\": \"Iterator `iterator_index` was invalidated after its creation by performing a mutable operation on trie\","]
7268 #[doc = " \"type\": \"object\","]
7269 #[doc = " \"required\": ["]
7270 #[doc = " \"IteratorWasInvalidated\""]
7271 #[doc = " ],"]
7272 #[doc = " \"properties\": {"]
7273 #[doc = " \"IteratorWasInvalidated\": {"]
7274 #[doc = " \"type\": \"object\","]
7275 #[doc = " \"required\": ["]
7276 #[doc = " \"iterator_index\""]
7277 #[doc = " ],"]
7278 #[doc = " \"properties\": {"]
7279 #[doc = " \"iterator_index\": {"]
7280 #[doc = " \"type\": \"integer\","]
7281 #[doc = " \"format\": \"uint64\","]
7282 #[doc = " \"minimum\": 0.0"]
7283 #[doc = " }"]
7284 #[doc = " }"]
7285 #[doc = " }"]
7286 #[doc = " },"]
7287 #[doc = " \"additionalProperties\": false"]
7288 #[doc = " },"]
7289 #[doc = " {"]
7290 #[doc = " \"description\": \"Accessed memory outside the bounds\","]
7291 #[doc = " \"type\": \"string\","]
7292 #[doc = " \"enum\": ["]
7293 #[doc = " \"MemoryAccessViolation\""]
7294 #[doc = " ]"]
7295 #[doc = " },"]
7296 #[doc = " {"]
7297 #[doc = " \"description\": \"VM Logic returned an invalid receipt index\","]
7298 #[doc = " \"type\": \"object\","]
7299 #[doc = " \"required\": ["]
7300 #[doc = " \"InvalidReceiptIndex\""]
7301 #[doc = " ],"]
7302 #[doc = " \"properties\": {"]
7303 #[doc = " \"InvalidReceiptIndex\": {"]
7304 #[doc = " \"type\": \"object\","]
7305 #[doc = " \"required\": ["]
7306 #[doc = " \"receipt_index\""]
7307 #[doc = " ],"]
7308 #[doc = " \"properties\": {"]
7309 #[doc = " \"receipt_index\": {"]
7310 #[doc = " \"type\": \"integer\","]
7311 #[doc = " \"format\": \"uint64\","]
7312 #[doc = " \"minimum\": 0.0"]
7313 #[doc = " }"]
7314 #[doc = " }"]
7315 #[doc = " }"]
7316 #[doc = " },"]
7317 #[doc = " \"additionalProperties\": false"]
7318 #[doc = " },"]
7319 #[doc = " {"]
7320 #[doc = " \"description\": \"Iterator index `iterator_index` does not exist\","]
7321 #[doc = " \"type\": \"object\","]
7322 #[doc = " \"required\": ["]
7323 #[doc = " \"InvalidIteratorIndex\""]
7324 #[doc = " ],"]
7325 #[doc = " \"properties\": {"]
7326 #[doc = " \"InvalidIteratorIndex\": {"]
7327 #[doc = " \"type\": \"object\","]
7328 #[doc = " \"required\": ["]
7329 #[doc = " \"iterator_index\""]
7330 #[doc = " ],"]
7331 #[doc = " \"properties\": {"]
7332 #[doc = " \"iterator_index\": {"]
7333 #[doc = " \"type\": \"integer\","]
7334 #[doc = " \"format\": \"uint64\","]
7335 #[doc = " \"minimum\": 0.0"]
7336 #[doc = " }"]
7337 #[doc = " }"]
7338 #[doc = " }"]
7339 #[doc = " },"]
7340 #[doc = " \"additionalProperties\": false"]
7341 #[doc = " },"]
7342 #[doc = " {"]
7343 #[doc = " \"description\": \"VM Logic returned an invalid account id\","]
7344 #[doc = " \"type\": \"string\","]
7345 #[doc = " \"enum\": ["]
7346 #[doc = " \"InvalidAccountId\""]
7347 #[doc = " ]"]
7348 #[doc = " },"]
7349 #[doc = " {"]
7350 #[doc = " \"description\": \"VM Logic returned an invalid method name\","]
7351 #[doc = " \"type\": \"string\","]
7352 #[doc = " \"enum\": ["]
7353 #[doc = " \"InvalidMethodName\""]
7354 #[doc = " ]"]
7355 #[doc = " },"]
7356 #[doc = " {"]
7357 #[doc = " \"description\": \"VM Logic provided an invalid public key\","]
7358 #[doc = " \"type\": \"string\","]
7359 #[doc = " \"enum\": ["]
7360 #[doc = " \"InvalidPublicKey\""]
7361 #[doc = " ]"]
7362 #[doc = " },"]
7363 #[doc = " {"]
7364 #[doc = " \"description\": \"`method_name` is not allowed in view calls\","]
7365 #[doc = " \"type\": \"object\","]
7366 #[doc = " \"required\": ["]
7367 #[doc = " \"ProhibitedInView\""]
7368 #[doc = " ],"]
7369 #[doc = " \"properties\": {"]
7370 #[doc = " \"ProhibitedInView\": {"]
7371 #[doc = " \"type\": \"object\","]
7372 #[doc = " \"required\": ["]
7373 #[doc = " \"method_name\""]
7374 #[doc = " ],"]
7375 #[doc = " \"properties\": {"]
7376 #[doc = " \"method_name\": {"]
7377 #[doc = " \"type\": \"string\""]
7378 #[doc = " }"]
7379 #[doc = " }"]
7380 #[doc = " }"]
7381 #[doc = " },"]
7382 #[doc = " \"additionalProperties\": false"]
7383 #[doc = " },"]
7384 #[doc = " {"]
7385 #[doc = " \"description\": \"The total number of logs will exceed the limit.\","]
7386 #[doc = " \"type\": \"object\","]
7387 #[doc = " \"required\": ["]
7388 #[doc = " \"NumberOfLogsExceeded\""]
7389 #[doc = " ],"]
7390 #[doc = " \"properties\": {"]
7391 #[doc = " \"NumberOfLogsExceeded\": {"]
7392 #[doc = " \"type\": \"object\","]
7393 #[doc = " \"required\": ["]
7394 #[doc = " \"limit\""]
7395 #[doc = " ],"]
7396 #[doc = " \"properties\": {"]
7397 #[doc = " \"limit\": {"]
7398 #[doc = " \"type\": \"integer\","]
7399 #[doc = " \"format\": \"uint64\","]
7400 #[doc = " \"minimum\": 0.0"]
7401 #[doc = " }"]
7402 #[doc = " }"]
7403 #[doc = " }"]
7404 #[doc = " },"]
7405 #[doc = " \"additionalProperties\": false"]
7406 #[doc = " },"]
7407 #[doc = " {"]
7408 #[doc = " \"description\": \"The storage key length exceeded the limit.\","]
7409 #[doc = " \"type\": \"object\","]
7410 #[doc = " \"required\": ["]
7411 #[doc = " \"KeyLengthExceeded\""]
7412 #[doc = " ],"]
7413 #[doc = " \"properties\": {"]
7414 #[doc = " \"KeyLengthExceeded\": {"]
7415 #[doc = " \"type\": \"object\","]
7416 #[doc = " \"required\": ["]
7417 #[doc = " \"length\","]
7418 #[doc = " \"limit\""]
7419 #[doc = " ],"]
7420 #[doc = " \"properties\": {"]
7421 #[doc = " \"length\": {"]
7422 #[doc = " \"type\": \"integer\","]
7423 #[doc = " \"format\": \"uint64\","]
7424 #[doc = " \"minimum\": 0.0"]
7425 #[doc = " },"]
7426 #[doc = " \"limit\": {"]
7427 #[doc = " \"type\": \"integer\","]
7428 #[doc = " \"format\": \"uint64\","]
7429 #[doc = " \"minimum\": 0.0"]
7430 #[doc = " }"]
7431 #[doc = " }"]
7432 #[doc = " }"]
7433 #[doc = " },"]
7434 #[doc = " \"additionalProperties\": false"]
7435 #[doc = " },"]
7436 #[doc = " {"]
7437 #[doc = " \"description\": \"The storage value length exceeded the limit.\","]
7438 #[doc = " \"type\": \"object\","]
7439 #[doc = " \"required\": ["]
7440 #[doc = " \"ValueLengthExceeded\""]
7441 #[doc = " ],"]
7442 #[doc = " \"properties\": {"]
7443 #[doc = " \"ValueLengthExceeded\": {"]
7444 #[doc = " \"type\": \"object\","]
7445 #[doc = " \"required\": ["]
7446 #[doc = " \"length\","]
7447 #[doc = " \"limit\""]
7448 #[doc = " ],"]
7449 #[doc = " \"properties\": {"]
7450 #[doc = " \"length\": {"]
7451 #[doc = " \"type\": \"integer\","]
7452 #[doc = " \"format\": \"uint64\","]
7453 #[doc = " \"minimum\": 0.0"]
7454 #[doc = " },"]
7455 #[doc = " \"limit\": {"]
7456 #[doc = " \"type\": \"integer\","]
7457 #[doc = " \"format\": \"uint64\","]
7458 #[doc = " \"minimum\": 0.0"]
7459 #[doc = " }"]
7460 #[doc = " }"]
7461 #[doc = " }"]
7462 #[doc = " },"]
7463 #[doc = " \"additionalProperties\": false"]
7464 #[doc = " },"]
7465 #[doc = " {"]
7466 #[doc = " \"description\": \"The total log length exceeded the limit.\","]
7467 #[doc = " \"type\": \"object\","]
7468 #[doc = " \"required\": ["]
7469 #[doc = " \"TotalLogLengthExceeded\""]
7470 #[doc = " ],"]
7471 #[doc = " \"properties\": {"]
7472 #[doc = " \"TotalLogLengthExceeded\": {"]
7473 #[doc = " \"type\": \"object\","]
7474 #[doc = " \"required\": ["]
7475 #[doc = " \"length\","]
7476 #[doc = " \"limit\""]
7477 #[doc = " ],"]
7478 #[doc = " \"properties\": {"]
7479 #[doc = " \"length\": {"]
7480 #[doc = " \"type\": \"integer\","]
7481 #[doc = " \"format\": \"uint64\","]
7482 #[doc = " \"minimum\": 0.0"]
7483 #[doc = " },"]
7484 #[doc = " \"limit\": {"]
7485 #[doc = " \"type\": \"integer\","]
7486 #[doc = " \"format\": \"uint64\","]
7487 #[doc = " \"minimum\": 0.0"]
7488 #[doc = " }"]
7489 #[doc = " }"]
7490 #[doc = " }"]
7491 #[doc = " },"]
7492 #[doc = " \"additionalProperties\": false"]
7493 #[doc = " },"]
7494 #[doc = " {"]
7495 #[doc = " \"description\": \"The maximum number of promises within a FunctionCall exceeded the limit.\","]
7496 #[doc = " \"type\": \"object\","]
7497 #[doc = " \"required\": ["]
7498 #[doc = " \"NumberPromisesExceeded\""]
7499 #[doc = " ],"]
7500 #[doc = " \"properties\": {"]
7501 #[doc = " \"NumberPromisesExceeded\": {"]
7502 #[doc = " \"type\": \"object\","]
7503 #[doc = " \"required\": ["]
7504 #[doc = " \"limit\","]
7505 #[doc = " \"number_of_promises\""]
7506 #[doc = " ],"]
7507 #[doc = " \"properties\": {"]
7508 #[doc = " \"limit\": {"]
7509 #[doc = " \"type\": \"integer\","]
7510 #[doc = " \"format\": \"uint64\","]
7511 #[doc = " \"minimum\": 0.0"]
7512 #[doc = " },"]
7513 #[doc = " \"number_of_promises\": {"]
7514 #[doc = " \"type\": \"integer\","]
7515 #[doc = " \"format\": \"uint64\","]
7516 #[doc = " \"minimum\": 0.0"]
7517 #[doc = " }"]
7518 #[doc = " }"]
7519 #[doc = " }"]
7520 #[doc = " },"]
7521 #[doc = " \"additionalProperties\": false"]
7522 #[doc = " },"]
7523 #[doc = " {"]
7524 #[doc = " \"description\": \"The maximum number of input data dependencies exceeded the limit.\","]
7525 #[doc = " \"type\": \"object\","]
7526 #[doc = " \"required\": ["]
7527 #[doc = " \"NumberInputDataDependenciesExceeded\""]
7528 #[doc = " ],"]
7529 #[doc = " \"properties\": {"]
7530 #[doc = " \"NumberInputDataDependenciesExceeded\": {"]
7531 #[doc = " \"type\": \"object\","]
7532 #[doc = " \"required\": ["]
7533 #[doc = " \"limit\","]
7534 #[doc = " \"number_of_input_data_dependencies\""]
7535 #[doc = " ],"]
7536 #[doc = " \"properties\": {"]
7537 #[doc = " \"limit\": {"]
7538 #[doc = " \"type\": \"integer\","]
7539 #[doc = " \"format\": \"uint64\","]
7540 #[doc = " \"minimum\": 0.0"]
7541 #[doc = " },"]
7542 #[doc = " \"number_of_input_data_dependencies\": {"]
7543 #[doc = " \"type\": \"integer\","]
7544 #[doc = " \"format\": \"uint64\","]
7545 #[doc = " \"minimum\": 0.0"]
7546 #[doc = " }"]
7547 #[doc = " }"]
7548 #[doc = " }"]
7549 #[doc = " },"]
7550 #[doc = " \"additionalProperties\": false"]
7551 #[doc = " },"]
7552 #[doc = " {"]
7553 #[doc = " \"description\": \"The returned value length exceeded the limit.\","]
7554 #[doc = " \"type\": \"object\","]
7555 #[doc = " \"required\": ["]
7556 #[doc = " \"ReturnedValueLengthExceeded\""]
7557 #[doc = " ],"]
7558 #[doc = " \"properties\": {"]
7559 #[doc = " \"ReturnedValueLengthExceeded\": {"]
7560 #[doc = " \"type\": \"object\","]
7561 #[doc = " \"required\": ["]
7562 #[doc = " \"length\","]
7563 #[doc = " \"limit\""]
7564 #[doc = " ],"]
7565 #[doc = " \"properties\": {"]
7566 #[doc = " \"length\": {"]
7567 #[doc = " \"type\": \"integer\","]
7568 #[doc = " \"format\": \"uint64\","]
7569 #[doc = " \"minimum\": 0.0"]
7570 #[doc = " },"]
7571 #[doc = " \"limit\": {"]
7572 #[doc = " \"type\": \"integer\","]
7573 #[doc = " \"format\": \"uint64\","]
7574 #[doc = " \"minimum\": 0.0"]
7575 #[doc = " }"]
7576 #[doc = " }"]
7577 #[doc = " }"]
7578 #[doc = " },"]
7579 #[doc = " \"additionalProperties\": false"]
7580 #[doc = " },"]
7581 #[doc = " {"]
7582 #[doc = " \"description\": \"The contract size for DeployContract action exceeded the limit.\","]
7583 #[doc = " \"type\": \"object\","]
7584 #[doc = " \"required\": ["]
7585 #[doc = " \"ContractSizeExceeded\""]
7586 #[doc = " ],"]
7587 #[doc = " \"properties\": {"]
7588 #[doc = " \"ContractSizeExceeded\": {"]
7589 #[doc = " \"type\": \"object\","]
7590 #[doc = " \"required\": ["]
7591 #[doc = " \"limit\","]
7592 #[doc = " \"size\""]
7593 #[doc = " ],"]
7594 #[doc = " \"properties\": {"]
7595 #[doc = " \"limit\": {"]
7596 #[doc = " \"type\": \"integer\","]
7597 #[doc = " \"format\": \"uint64\","]
7598 #[doc = " \"minimum\": 0.0"]
7599 #[doc = " },"]
7600 #[doc = " \"size\": {"]
7601 #[doc = " \"type\": \"integer\","]
7602 #[doc = " \"format\": \"uint64\","]
7603 #[doc = " \"minimum\": 0.0"]
7604 #[doc = " }"]
7605 #[doc = " }"]
7606 #[doc = " }"]
7607 #[doc = " },"]
7608 #[doc = " \"additionalProperties\": false"]
7609 #[doc = " },"]
7610 #[doc = " {"]
7611 #[doc = " \"description\": \"The host function was deprecated.\","]
7612 #[doc = " \"type\": \"object\","]
7613 #[doc = " \"required\": ["]
7614 #[doc = " \"Deprecated\""]
7615 #[doc = " ],"]
7616 #[doc = " \"properties\": {"]
7617 #[doc = " \"Deprecated\": {"]
7618 #[doc = " \"type\": \"object\","]
7619 #[doc = " \"required\": ["]
7620 #[doc = " \"method_name\""]
7621 #[doc = " ],"]
7622 #[doc = " \"properties\": {"]
7623 #[doc = " \"method_name\": {"]
7624 #[doc = " \"type\": \"string\""]
7625 #[doc = " }"]
7626 #[doc = " }"]
7627 #[doc = " }"]
7628 #[doc = " },"]
7629 #[doc = " \"additionalProperties\": false"]
7630 #[doc = " },"]
7631 #[doc = " {"]
7632 #[doc = " \"description\": \"General errors for ECDSA recover.\","]
7633 #[doc = " \"type\": \"object\","]
7634 #[doc = " \"required\": ["]
7635 #[doc = " \"ECRecoverError\""]
7636 #[doc = " ],"]
7637 #[doc = " \"properties\": {"]
7638 #[doc = " \"ECRecoverError\": {"]
7639 #[doc = " \"type\": \"object\","]
7640 #[doc = " \"required\": ["]
7641 #[doc = " \"msg\""]
7642 #[doc = " ],"]
7643 #[doc = " \"properties\": {"]
7644 #[doc = " \"msg\": {"]
7645 #[doc = " \"type\": \"string\""]
7646 #[doc = " }"]
7647 #[doc = " }"]
7648 #[doc = " }"]
7649 #[doc = " },"]
7650 #[doc = " \"additionalProperties\": false"]
7651 #[doc = " },"]
7652 #[doc = " {"]
7653 #[doc = " \"description\": \"Invalid input to alt_bn128 family of functions (e.g., point which isn't\\n on the curve).\","]
7654 #[doc = " \"type\": \"object\","]
7655 #[doc = " \"required\": ["]
7656 #[doc = " \"AltBn128InvalidInput\""]
7657 #[doc = " ],"]
7658 #[doc = " \"properties\": {"]
7659 #[doc = " \"AltBn128InvalidInput\": {"]
7660 #[doc = " \"type\": \"object\","]
7661 #[doc = " \"required\": ["]
7662 #[doc = " \"msg\""]
7663 #[doc = " ],"]
7664 #[doc = " \"properties\": {"]
7665 #[doc = " \"msg\": {"]
7666 #[doc = " \"type\": \"string\""]
7667 #[doc = " }"]
7668 #[doc = " }"]
7669 #[doc = " }"]
7670 #[doc = " },"]
7671 #[doc = " \"additionalProperties\": false"]
7672 #[doc = " },"]
7673 #[doc = " {"]
7674 #[doc = " \"description\": \"Invalid input to ed25519 signature verification function (e.g. signature cannot be\\n derived from bytes).\","]
7675 #[doc = " \"type\": \"object\","]
7676 #[doc = " \"required\": ["]
7677 #[doc = " \"Ed25519VerifyInvalidInput\""]
7678 #[doc = " ],"]
7679 #[doc = " \"properties\": {"]
7680 #[doc = " \"Ed25519VerifyInvalidInput\": {"]
7681 #[doc = " \"type\": \"object\","]
7682 #[doc = " \"required\": ["]
7683 #[doc = " \"msg\""]
7684 #[doc = " ],"]
7685 #[doc = " \"properties\": {"]
7686 #[doc = " \"msg\": {"]
7687 #[doc = " \"type\": \"string\""]
7688 #[doc = " }"]
7689 #[doc = " }"]
7690 #[doc = " }"]
7691 #[doc = " },"]
7692 #[doc = " \"additionalProperties\": false"]
7693 #[doc = " }"]
7694 #[doc = " ]"]
7695 #[doc = "}"]
7696 #[doc = r" ```"]
7697 #[doc = r" </details>"]
7698 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
7699 pub enum HostError {
7700 #[doc = "String encoding is bad UTF-16 sequence"]
7701 #[serde(rename = "BadUTF16")]
7702 BadUtf16,
7703 #[doc = "String encoding is bad UTF-8 sequence"]
7704 #[serde(rename = "BadUTF8")]
7705 BadUtf8,
7706 #[doc = "Exceeded the prepaid gas"]
7707 GasExceeded,
7708 #[doc = "Exceeded the maximum amount of gas allowed to burn per contract"]
7709 GasLimitExceeded,
7710 #[doc = "Exceeded the account balance"]
7711 BalanceExceeded,
7712 #[doc = "Tried to call an empty method name"]
7713 EmptyMethodName,
7714 #[doc = "Smart contract panicked"]
7715 GuestPanic { panic_msg: ::std::string::String },
7716 #[doc = "IntegerOverflow happened during a contract execution"]
7717 IntegerOverflow,
7718 #[doc = "`promise_idx` does not correspond to existing promises"]
7719 InvalidPromiseIndex { promise_idx: u64 },
7720 #[doc = "Actions can only be appended to non-joint promise."]
7721 CannotAppendActionToJointPromise,
7722 #[doc = "Returning joint promise is currently prohibited"]
7723 CannotReturnJointPromise,
7724 #[doc = "Accessed invalid promise result index"]
7725 InvalidPromiseResultIndex { result_idx: u64 },
7726 #[doc = "Accessed invalid register id"]
7727 InvalidRegisterId { register_id: u64 },
7728 #[doc = "Iterator `iterator_index` was invalidated after its creation by performing a mutable operation on trie"]
7729 IteratorWasInvalidated { iterator_index: u64 },
7730 #[doc = "Accessed memory outside the bounds"]
7731 MemoryAccessViolation,
7732 #[doc = "VM Logic returned an invalid receipt index"]
7733 InvalidReceiptIndex { receipt_index: u64 },
7734 #[doc = "Iterator index `iterator_index` does not exist"]
7735 InvalidIteratorIndex { iterator_index: u64 },
7736 #[doc = "VM Logic returned an invalid account id"]
7737 InvalidAccountId,
7738 #[doc = "VM Logic returned an invalid method name"]
7739 InvalidMethodName,
7740 #[doc = "VM Logic provided an invalid public key"]
7741 InvalidPublicKey,
7742 #[doc = "`method_name` is not allowed in view calls"]
7743 ProhibitedInView { method_name: ::std::string::String },
7744 #[doc = "The total number of logs will exceed the limit."]
7745 NumberOfLogsExceeded { limit: u64 },
7746 #[doc = "The storage key length exceeded the limit."]
7747 KeyLengthExceeded { length: u64, limit: u64 },
7748 #[doc = "The storage value length exceeded the limit."]
7749 ValueLengthExceeded { length: u64, limit: u64 },
7750 #[doc = "The total log length exceeded the limit."]
7751 TotalLogLengthExceeded { length: u64, limit: u64 },
7752 #[doc = "The maximum number of promises within a FunctionCall exceeded the limit."]
7753 NumberPromisesExceeded { limit: u64, number_of_promises: u64 },
7754 #[doc = "The maximum number of input data dependencies exceeded the limit."]
7755 NumberInputDataDependenciesExceeded {
7756 limit: u64,
7757 number_of_input_data_dependencies: u64,
7758 },
7759 #[doc = "The returned value length exceeded the limit."]
7760 ReturnedValueLengthExceeded { length: u64, limit: u64 },
7761 #[doc = "The contract size for DeployContract action exceeded the limit."]
7762 ContractSizeExceeded { limit: u64, size: u64 },
7763 #[doc = "The host function was deprecated."]
7764 Deprecated { method_name: ::std::string::String },
7765 #[doc = "General errors for ECDSA recover."]
7766 #[serde(rename = "ECRecoverError")]
7767 EcRecoverError { msg: ::std::string::String },
7768 #[doc = "Invalid input to alt_bn128 family of functions (e.g., point which isn't\n on the curve)."]
7769 AltBn128InvalidInput { msg: ::std::string::String },
7770 #[doc = "Invalid input to ed25519 signature verification function (e.g. signature cannot be\n derived from bytes)."]
7771 Ed25519VerifyInvalidInput { msg: ::std::string::String },
7772 }
7773 impl ::std::convert::From<&Self> for HostError {
7774 fn from(value: &HostError) -> Self {
7775 value.clone()
7776 }
7777 }
7778 #[doc = "`InvalidAccessKeyError`"]
7779 #[doc = r""]
7780 #[doc = r" <details><summary>JSON schema</summary>"]
7781 #[doc = r""]
7782 #[doc = r" ```json"]
7783 #[doc = "{"]
7784 #[doc = " \"oneOf\": ["]
7785 #[doc = " {"]
7786 #[doc = " \"description\": \"The access key identified by the `public_key` doesn't exist for the account\","]
7787 #[doc = " \"type\": \"object\","]
7788 #[doc = " \"required\": ["]
7789 #[doc = " \"AccessKeyNotFound\""]
7790 #[doc = " ],"]
7791 #[doc = " \"properties\": {"]
7792 #[doc = " \"AccessKeyNotFound\": {"]
7793 #[doc = " \"type\": \"object\","]
7794 #[doc = " \"required\": ["]
7795 #[doc = " \"account_id\","]
7796 #[doc = " \"public_key\""]
7797 #[doc = " ],"]
7798 #[doc = " \"properties\": {"]
7799 #[doc = " \"account_id\": {"]
7800 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
7801 #[doc = " },"]
7802 #[doc = " \"public_key\": {"]
7803 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
7804 #[doc = " }"]
7805 #[doc = " }"]
7806 #[doc = " }"]
7807 #[doc = " },"]
7808 #[doc = " \"additionalProperties\": false"]
7809 #[doc = " },"]
7810 #[doc = " {"]
7811 #[doc = " \"description\": \"Transaction `receiver_id` doesn't match the access key receiver_id\","]
7812 #[doc = " \"type\": \"object\","]
7813 #[doc = " \"required\": ["]
7814 #[doc = " \"ReceiverMismatch\""]
7815 #[doc = " ],"]
7816 #[doc = " \"properties\": {"]
7817 #[doc = " \"ReceiverMismatch\": {"]
7818 #[doc = " \"type\": \"object\","]
7819 #[doc = " \"required\": ["]
7820 #[doc = " \"ak_receiver\","]
7821 #[doc = " \"tx_receiver\""]
7822 #[doc = " ],"]
7823 #[doc = " \"properties\": {"]
7824 #[doc = " \"ak_receiver\": {"]
7825 #[doc = " \"type\": \"string\""]
7826 #[doc = " },"]
7827 #[doc = " \"tx_receiver\": {"]
7828 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
7829 #[doc = " }"]
7830 #[doc = " }"]
7831 #[doc = " }"]
7832 #[doc = " },"]
7833 #[doc = " \"additionalProperties\": false"]
7834 #[doc = " },"]
7835 #[doc = " {"]
7836 #[doc = " \"description\": \"Transaction method name isn't allowed by the access key\","]
7837 #[doc = " \"type\": \"object\","]
7838 #[doc = " \"required\": ["]
7839 #[doc = " \"MethodNameMismatch\""]
7840 #[doc = " ],"]
7841 #[doc = " \"properties\": {"]
7842 #[doc = " \"MethodNameMismatch\": {"]
7843 #[doc = " \"type\": \"object\","]
7844 #[doc = " \"required\": ["]
7845 #[doc = " \"method_name\""]
7846 #[doc = " ],"]
7847 #[doc = " \"properties\": {"]
7848 #[doc = " \"method_name\": {"]
7849 #[doc = " \"type\": \"string\""]
7850 #[doc = " }"]
7851 #[doc = " }"]
7852 #[doc = " }"]
7853 #[doc = " },"]
7854 #[doc = " \"additionalProperties\": false"]
7855 #[doc = " },"]
7856 #[doc = " {"]
7857 #[doc = " \"description\": \"Transaction requires a full permission access key.\","]
7858 #[doc = " \"type\": \"string\","]
7859 #[doc = " \"enum\": ["]
7860 #[doc = " \"RequiresFullAccess\""]
7861 #[doc = " ]"]
7862 #[doc = " },"]
7863 #[doc = " {"]
7864 #[doc = " \"description\": \"Access Key does not have enough allowance to cover transaction cost\","]
7865 #[doc = " \"type\": \"object\","]
7866 #[doc = " \"required\": ["]
7867 #[doc = " \"NotEnoughAllowance\""]
7868 #[doc = " ],"]
7869 #[doc = " \"properties\": {"]
7870 #[doc = " \"NotEnoughAllowance\": {"]
7871 #[doc = " \"type\": \"object\","]
7872 #[doc = " \"required\": ["]
7873 #[doc = " \"account_id\","]
7874 #[doc = " \"allowance\","]
7875 #[doc = " \"cost\","]
7876 #[doc = " \"public_key\""]
7877 #[doc = " ],"]
7878 #[doc = " \"properties\": {"]
7879 #[doc = " \"account_id\": {"]
7880 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
7881 #[doc = " },"]
7882 #[doc = " \"allowance\": {"]
7883 #[doc = " \"type\": \"string\""]
7884 #[doc = " },"]
7885 #[doc = " \"cost\": {"]
7886 #[doc = " \"type\": \"string\""]
7887 #[doc = " },"]
7888 #[doc = " \"public_key\": {"]
7889 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
7890 #[doc = " }"]
7891 #[doc = " }"]
7892 #[doc = " }"]
7893 #[doc = " },"]
7894 #[doc = " \"additionalProperties\": false"]
7895 #[doc = " },"]
7896 #[doc = " {"]
7897 #[doc = " \"description\": \"Having a deposit with a function call action is not allowed with a function call access key.\","]
7898 #[doc = " \"type\": \"string\","]
7899 #[doc = " \"enum\": ["]
7900 #[doc = " \"DepositWithFunctionCall\""]
7901 #[doc = " ]"]
7902 #[doc = " }"]
7903 #[doc = " ]"]
7904 #[doc = "}"]
7905 #[doc = r" ```"]
7906 #[doc = r" </details>"]
7907 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
7908 pub enum InvalidAccessKeyError {
7909 #[doc = "The access key identified by the `public_key` doesn't exist for the account"]
7910 AccessKeyNotFound {
7911 account_id: AccountId,
7912 public_key: PublicKey,
7913 },
7914 #[doc = "Transaction `receiver_id` doesn't match the access key receiver_id"]
7915 ReceiverMismatch {
7916 ak_receiver: ::std::string::String,
7917 tx_receiver: AccountId,
7918 },
7919 #[doc = "Transaction method name isn't allowed by the access key"]
7920 MethodNameMismatch { method_name: ::std::string::String },
7921 #[doc = "Transaction requires a full permission access key."]
7922 RequiresFullAccess,
7923 #[doc = "Access Key does not have enough allowance to cover transaction cost"]
7924 NotEnoughAllowance {
7925 account_id: AccountId,
7926 allowance: ::std::string::String,
7927 cost: ::std::string::String,
7928 public_key: PublicKey,
7929 },
7930 #[doc = "Having a deposit with a function call action is not allowed with a function call access key."]
7931 DepositWithFunctionCall,
7932 }
7933 impl ::std::convert::From<&Self> for InvalidAccessKeyError {
7934 fn from(value: &InvalidAccessKeyError) -> Self {
7935 value.clone()
7936 }
7937 }
7938 #[doc = "An error happened during TX execution"]
7939 #[doc = r""]
7940 #[doc = r" <details><summary>JSON schema</summary>"]
7941 #[doc = r""]
7942 #[doc = r" ```json"]
7943 #[doc = "{"]
7944 #[doc = " \"description\": \"An error happened during TX execution\","]
7945 #[doc = " \"oneOf\": ["]
7946 #[doc = " {"]
7947 #[doc = " \"description\": \"Happens if a wrong AccessKey used or AccessKey has not enough permissions\","]
7948 #[doc = " \"type\": \"object\","]
7949 #[doc = " \"required\": ["]
7950 #[doc = " \"InvalidAccessKeyError\""]
7951 #[doc = " ],"]
7952 #[doc = " \"properties\": {"]
7953 #[doc = " \"InvalidAccessKeyError\": {"]
7954 #[doc = " \"$ref\": \"#/components/schemas/InvalidAccessKeyError\""]
7955 #[doc = " }"]
7956 #[doc = " },"]
7957 #[doc = " \"additionalProperties\": false"]
7958 #[doc = " },"]
7959 #[doc = " {"]
7960 #[doc = " \"description\": \"TX signer_id is not a valid [`AccountId`]\","]
7961 #[doc = " \"type\": \"object\","]
7962 #[doc = " \"required\": ["]
7963 #[doc = " \"InvalidSignerId\""]
7964 #[doc = " ],"]
7965 #[doc = " \"properties\": {"]
7966 #[doc = " \"InvalidSignerId\": {"]
7967 #[doc = " \"type\": \"object\","]
7968 #[doc = " \"required\": ["]
7969 #[doc = " \"signer_id\""]
7970 #[doc = " ],"]
7971 #[doc = " \"properties\": {"]
7972 #[doc = " \"signer_id\": {"]
7973 #[doc = " \"type\": \"string\""]
7974 #[doc = " }"]
7975 #[doc = " }"]
7976 #[doc = " }"]
7977 #[doc = " },"]
7978 #[doc = " \"additionalProperties\": false"]
7979 #[doc = " },"]
7980 #[doc = " {"]
7981 #[doc = " \"description\": \"TX signer_id is not found in a storage\","]
7982 #[doc = " \"type\": \"object\","]
7983 #[doc = " \"required\": ["]
7984 #[doc = " \"SignerDoesNotExist\""]
7985 #[doc = " ],"]
7986 #[doc = " \"properties\": {"]
7987 #[doc = " \"SignerDoesNotExist\": {"]
7988 #[doc = " \"type\": \"object\","]
7989 #[doc = " \"required\": ["]
7990 #[doc = " \"signer_id\""]
7991 #[doc = " ],"]
7992 #[doc = " \"properties\": {"]
7993 #[doc = " \"signer_id\": {"]
7994 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
7995 #[doc = " }"]
7996 #[doc = " }"]
7997 #[doc = " }"]
7998 #[doc = " },"]
7999 #[doc = " \"additionalProperties\": false"]
8000 #[doc = " },"]
8001 #[doc = " {"]
8002 #[doc = " \"description\": \"Transaction nonce must be strictly greater than `account[access_key].nonce`.\","]
8003 #[doc = " \"type\": \"object\","]
8004 #[doc = " \"required\": ["]
8005 #[doc = " \"InvalidNonce\""]
8006 #[doc = " ],"]
8007 #[doc = " \"properties\": {"]
8008 #[doc = " \"InvalidNonce\": {"]
8009 #[doc = " \"type\": \"object\","]
8010 #[doc = " \"required\": ["]
8011 #[doc = " \"ak_nonce\","]
8012 #[doc = " \"tx_nonce\""]
8013 #[doc = " ],"]
8014 #[doc = " \"properties\": {"]
8015 #[doc = " \"ak_nonce\": {"]
8016 #[doc = " \"type\": \"integer\","]
8017 #[doc = " \"format\": \"uint64\","]
8018 #[doc = " \"minimum\": 0.0"]
8019 #[doc = " },"]
8020 #[doc = " \"tx_nonce\": {"]
8021 #[doc = " \"type\": \"integer\","]
8022 #[doc = " \"format\": \"uint64\","]
8023 #[doc = " \"minimum\": 0.0"]
8024 #[doc = " }"]
8025 #[doc = " }"]
8026 #[doc = " }"]
8027 #[doc = " },"]
8028 #[doc = " \"additionalProperties\": false"]
8029 #[doc = " },"]
8030 #[doc = " {"]
8031 #[doc = " \"description\": \"Transaction nonce is larger than the upper bound given by the block height\","]
8032 #[doc = " \"type\": \"object\","]
8033 #[doc = " \"required\": ["]
8034 #[doc = " \"NonceTooLarge\""]
8035 #[doc = " ],"]
8036 #[doc = " \"properties\": {"]
8037 #[doc = " \"NonceTooLarge\": {"]
8038 #[doc = " \"type\": \"object\","]
8039 #[doc = " \"required\": ["]
8040 #[doc = " \"tx_nonce\","]
8041 #[doc = " \"upper_bound\""]
8042 #[doc = " ],"]
8043 #[doc = " \"properties\": {"]
8044 #[doc = " \"tx_nonce\": {"]
8045 #[doc = " \"type\": \"integer\","]
8046 #[doc = " \"format\": \"uint64\","]
8047 #[doc = " \"minimum\": 0.0"]
8048 #[doc = " },"]
8049 #[doc = " \"upper_bound\": {"]
8050 #[doc = " \"type\": \"integer\","]
8051 #[doc = " \"format\": \"uint64\","]
8052 #[doc = " \"minimum\": 0.0"]
8053 #[doc = " }"]
8054 #[doc = " }"]
8055 #[doc = " }"]
8056 #[doc = " },"]
8057 #[doc = " \"additionalProperties\": false"]
8058 #[doc = " },"]
8059 #[doc = " {"]
8060 #[doc = " \"description\": \"TX receiver_id is not a valid AccountId\","]
8061 #[doc = " \"type\": \"object\","]
8062 #[doc = " \"required\": ["]
8063 #[doc = " \"InvalidReceiverId\""]
8064 #[doc = " ],"]
8065 #[doc = " \"properties\": {"]
8066 #[doc = " \"InvalidReceiverId\": {"]
8067 #[doc = " \"type\": \"object\","]
8068 #[doc = " \"required\": ["]
8069 #[doc = " \"receiver_id\""]
8070 #[doc = " ],"]
8071 #[doc = " \"properties\": {"]
8072 #[doc = " \"receiver_id\": {"]
8073 #[doc = " \"type\": \"string\""]
8074 #[doc = " }"]
8075 #[doc = " }"]
8076 #[doc = " }"]
8077 #[doc = " },"]
8078 #[doc = " \"additionalProperties\": false"]
8079 #[doc = " },"]
8080 #[doc = " {"]
8081 #[doc = " \"description\": \"TX signature is not valid\","]
8082 #[doc = " \"type\": \"string\","]
8083 #[doc = " \"enum\": ["]
8084 #[doc = " \"InvalidSignature\""]
8085 #[doc = " ]"]
8086 #[doc = " },"]
8087 #[doc = " {"]
8088 #[doc = " \"description\": \"Account does not have enough balance to cover TX cost\","]
8089 #[doc = " \"type\": \"object\","]
8090 #[doc = " \"required\": ["]
8091 #[doc = " \"NotEnoughBalance\""]
8092 #[doc = " ],"]
8093 #[doc = " \"properties\": {"]
8094 #[doc = " \"NotEnoughBalance\": {"]
8095 #[doc = " \"type\": \"object\","]
8096 #[doc = " \"required\": ["]
8097 #[doc = " \"balance\","]
8098 #[doc = " \"cost\","]
8099 #[doc = " \"signer_id\""]
8100 #[doc = " ],"]
8101 #[doc = " \"properties\": {"]
8102 #[doc = " \"balance\": {"]
8103 #[doc = " \"type\": \"string\""]
8104 #[doc = " },"]
8105 #[doc = " \"cost\": {"]
8106 #[doc = " \"type\": \"string\""]
8107 #[doc = " },"]
8108 #[doc = " \"signer_id\": {"]
8109 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
8110 #[doc = " }"]
8111 #[doc = " }"]
8112 #[doc = " }"]
8113 #[doc = " },"]
8114 #[doc = " \"additionalProperties\": false"]
8115 #[doc = " },"]
8116 #[doc = " {"]
8117 #[doc = " \"description\": \"Signer account doesn't have enough balance after transaction.\","]
8118 #[doc = " \"type\": \"object\","]
8119 #[doc = " \"required\": ["]
8120 #[doc = " \"LackBalanceForState\""]
8121 #[doc = " ],"]
8122 #[doc = " \"properties\": {"]
8123 #[doc = " \"LackBalanceForState\": {"]
8124 #[doc = " \"type\": \"object\","]
8125 #[doc = " \"required\": ["]
8126 #[doc = " \"amount\","]
8127 #[doc = " \"signer_id\""]
8128 #[doc = " ],"]
8129 #[doc = " \"properties\": {"]
8130 #[doc = " \"amount\": {"]
8131 #[doc = " \"description\": \"Required balance to cover the state.\","]
8132 #[doc = " \"type\": \"string\""]
8133 #[doc = " },"]
8134 #[doc = " \"signer_id\": {"]
8135 #[doc = " \"description\": \"An account which doesn't have enough balance to cover storage.\","]
8136 #[doc = " \"allOf\": ["]
8137 #[doc = " {"]
8138 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
8139 #[doc = " }"]
8140 #[doc = " ]"]
8141 #[doc = " }"]
8142 #[doc = " }"]
8143 #[doc = " }"]
8144 #[doc = " },"]
8145 #[doc = " \"additionalProperties\": false"]
8146 #[doc = " },"]
8147 #[doc = " {"]
8148 #[doc = " \"description\": \"An integer overflow occurred during transaction cost estimation.\","]
8149 #[doc = " \"type\": \"string\","]
8150 #[doc = " \"enum\": ["]
8151 #[doc = " \"CostOverflow\""]
8152 #[doc = " ]"]
8153 #[doc = " },"]
8154 #[doc = " {"]
8155 #[doc = " \"description\": \"Transaction parent block hash doesn't belong to the current chain\","]
8156 #[doc = " \"type\": \"string\","]
8157 #[doc = " \"enum\": ["]
8158 #[doc = " \"InvalidChain\""]
8159 #[doc = " ]"]
8160 #[doc = " },"]
8161 #[doc = " {"]
8162 #[doc = " \"description\": \"Transaction has expired\","]
8163 #[doc = " \"type\": \"string\","]
8164 #[doc = " \"enum\": ["]
8165 #[doc = " \"Expired\""]
8166 #[doc = " ]"]
8167 #[doc = " },"]
8168 #[doc = " {"]
8169 #[doc = " \"description\": \"An error occurred while validating actions of a Transaction.\","]
8170 #[doc = " \"type\": \"object\","]
8171 #[doc = " \"required\": ["]
8172 #[doc = " \"ActionsValidation\""]
8173 #[doc = " ],"]
8174 #[doc = " \"properties\": {"]
8175 #[doc = " \"ActionsValidation\": {"]
8176 #[doc = " \"$ref\": \"#/components/schemas/ActionsValidationError\""]
8177 #[doc = " }"]
8178 #[doc = " },"]
8179 #[doc = " \"additionalProperties\": false"]
8180 #[doc = " },"]
8181 #[doc = " {"]
8182 #[doc = " \"description\": \"The size of serialized transaction exceeded the limit.\","]
8183 #[doc = " \"type\": \"object\","]
8184 #[doc = " \"required\": ["]
8185 #[doc = " \"TransactionSizeExceeded\""]
8186 #[doc = " ],"]
8187 #[doc = " \"properties\": {"]
8188 #[doc = " \"TransactionSizeExceeded\": {"]
8189 #[doc = " \"type\": \"object\","]
8190 #[doc = " \"required\": ["]
8191 #[doc = " \"limit\","]
8192 #[doc = " \"size\""]
8193 #[doc = " ],"]
8194 #[doc = " \"properties\": {"]
8195 #[doc = " \"limit\": {"]
8196 #[doc = " \"type\": \"integer\","]
8197 #[doc = " \"format\": \"uint64\","]
8198 #[doc = " \"minimum\": 0.0"]
8199 #[doc = " },"]
8200 #[doc = " \"size\": {"]
8201 #[doc = " \"type\": \"integer\","]
8202 #[doc = " \"format\": \"uint64\","]
8203 #[doc = " \"minimum\": 0.0"]
8204 #[doc = " }"]
8205 #[doc = " }"]
8206 #[doc = " }"]
8207 #[doc = " },"]
8208 #[doc = " \"additionalProperties\": false"]
8209 #[doc = " },"]
8210 #[doc = " {"]
8211 #[doc = " \"description\": \"Transaction version is invalid.\","]
8212 #[doc = " \"type\": \"string\","]
8213 #[doc = " \"enum\": ["]
8214 #[doc = " \"InvalidTransactionVersion\""]
8215 #[doc = " ]"]
8216 #[doc = " },"]
8217 #[doc = " {"]
8218 #[doc = " \"type\": \"object\","]
8219 #[doc = " \"required\": ["]
8220 #[doc = " \"StorageError\""]
8221 #[doc = " ],"]
8222 #[doc = " \"properties\": {"]
8223 #[doc = " \"StorageError\": {"]
8224 #[doc = " \"$ref\": \"#/components/schemas/StorageError\""]
8225 #[doc = " }"]
8226 #[doc = " },"]
8227 #[doc = " \"additionalProperties\": false"]
8228 #[doc = " },"]
8229 #[doc = " {"]
8230 #[doc = " \"description\": \"The receiver shard of the transaction is too congested to accept new\\n transactions at the moment.\","]
8231 #[doc = " \"type\": \"object\","]
8232 #[doc = " \"required\": ["]
8233 #[doc = " \"ShardCongested\""]
8234 #[doc = " ],"]
8235 #[doc = " \"properties\": {"]
8236 #[doc = " \"ShardCongested\": {"]
8237 #[doc = " \"type\": \"object\","]
8238 #[doc = " \"required\": ["]
8239 #[doc = " \"congestion_level\","]
8240 #[doc = " \"shard_id\""]
8241 #[doc = " ],"]
8242 #[doc = " \"properties\": {"]
8243 #[doc = " \"congestion_level\": {"]
8244 #[doc = " \"description\": \"A value between 0 (no congestion) and 1 (max congestion).\","]
8245 #[doc = " \"type\": \"number\","]
8246 #[doc = " \"format\": \"double\""]
8247 #[doc = " },"]
8248 #[doc = " \"shard_id\": {"]
8249 #[doc = " \"description\": \"The congested shard.\","]
8250 #[doc = " \"type\": \"integer\","]
8251 #[doc = " \"format\": \"uint32\","]
8252 #[doc = " \"minimum\": 0.0"]
8253 #[doc = " }"]
8254 #[doc = " }"]
8255 #[doc = " }"]
8256 #[doc = " },"]
8257 #[doc = " \"additionalProperties\": false"]
8258 #[doc = " },"]
8259 #[doc = " {"]
8260 #[doc = " \"description\": \"The receiver shard of the transaction missed several chunks and rejects\\n new transaction until it can make progress again.\","]
8261 #[doc = " \"type\": \"object\","]
8262 #[doc = " \"required\": ["]
8263 #[doc = " \"ShardStuck\""]
8264 #[doc = " ],"]
8265 #[doc = " \"properties\": {"]
8266 #[doc = " \"ShardStuck\": {"]
8267 #[doc = " \"type\": \"object\","]
8268 #[doc = " \"required\": ["]
8269 #[doc = " \"missed_chunks\","]
8270 #[doc = " \"shard_id\""]
8271 #[doc = " ],"]
8272 #[doc = " \"properties\": {"]
8273 #[doc = " \"missed_chunks\": {"]
8274 #[doc = " \"description\": \"The number of blocks since the last included chunk of the shard.\","]
8275 #[doc = " \"type\": \"integer\","]
8276 #[doc = " \"format\": \"uint64\","]
8277 #[doc = " \"minimum\": 0.0"]
8278 #[doc = " },"]
8279 #[doc = " \"shard_id\": {"]
8280 #[doc = " \"description\": \"The shard that fails making progress.\","]
8281 #[doc = " \"type\": \"integer\","]
8282 #[doc = " \"format\": \"uint32\","]
8283 #[doc = " \"minimum\": 0.0"]
8284 #[doc = " }"]
8285 #[doc = " }"]
8286 #[doc = " }"]
8287 #[doc = " },"]
8288 #[doc = " \"additionalProperties\": false"]
8289 #[doc = " }"]
8290 #[doc = " ]"]
8291 #[doc = "}"]
8292 #[doc = r" ```"]
8293 #[doc = r" </details>"]
8294 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
8295 pub enum InvalidTxError {
8296 #[doc = "Happens if a wrong AccessKey used or AccessKey has not enough permissions"]
8297 InvalidAccessKeyError(InvalidAccessKeyError),
8298 #[doc = "TX signer_id is not a valid [`AccountId`]"]
8299 InvalidSignerId {
8300 signer_id: ::std::string::String,
8301 },
8302 #[doc = "TX signer_id is not found in a storage"]
8303 SignerDoesNotExist {
8304 signer_id: AccountId,
8305 },
8306 #[doc = "Transaction nonce must be strictly greater than `account[access_key].nonce`."]
8307 InvalidNonce {
8308 ak_nonce: u64,
8309 tx_nonce: u64,
8310 },
8311 #[doc = "Transaction nonce is larger than the upper bound given by the block height"]
8312 NonceTooLarge {
8313 tx_nonce: u64,
8314 upper_bound: u64,
8315 },
8316 #[doc = "TX receiver_id is not a valid AccountId"]
8317 InvalidReceiverId {
8318 receiver_id: ::std::string::String,
8319 },
8320 #[doc = "TX signature is not valid"]
8321 InvalidSignature,
8322 #[doc = "Account does not have enough balance to cover TX cost"]
8323 NotEnoughBalance {
8324 balance: ::std::string::String,
8325 cost: ::std::string::String,
8326 signer_id: AccountId,
8327 },
8328 #[doc = "Signer account doesn't have enough balance after transaction."]
8329 LackBalanceForState {
8330 #[doc = "Required balance to cover the state."]
8331 amount: ::std::string::String,
8332 #[doc = "An account which doesn't have enough balance to cover storage."]
8333 signer_id: AccountId,
8334 },
8335 #[doc = "An integer overflow occurred during transaction cost estimation."]
8336 CostOverflow,
8337 #[doc = "Transaction parent block hash doesn't belong to the current chain"]
8338 InvalidChain,
8339 #[doc = "Transaction has expired"]
8340 Expired,
8341 #[doc = "An error occurred while validating actions of a Transaction."]
8342 ActionsValidation(ActionsValidationError),
8343 #[doc = "The size of serialized transaction exceeded the limit."]
8344 TransactionSizeExceeded {
8345 limit: u64,
8346 size: u64,
8347 },
8348 #[doc = "Transaction version is invalid."]
8349 InvalidTransactionVersion,
8350 StorageError(StorageError),
8351 #[doc = "The receiver shard of the transaction is too congested to accept new\n transactions at the moment."]
8352 ShardCongested {
8353 congestion_level: f64,
8354 #[doc = "The congested shard."]
8355 shard_id: u32,
8356 },
8357 #[doc = "The receiver shard of the transaction missed several chunks and rejects\n new transaction until it can make progress again."]
8358 ShardStuck {
8359 #[doc = "The number of blocks since the last included chunk of the shard."]
8360 missed_chunks: u64,
8361 #[doc = "The shard that fails making progress."]
8362 shard_id: u32,
8363 },
8364 }
8365 impl ::std::convert::From<&Self> for InvalidTxError {
8366 fn from(value: &InvalidTxError) -> Self {
8367 value.clone()
8368 }
8369 }
8370 impl ::std::convert::From<InvalidAccessKeyError> for InvalidTxError {
8371 fn from(value: InvalidAccessKeyError) -> Self {
8372 Self::InvalidAccessKeyError(value)
8373 }
8374 }
8375 impl ::std::convert::From<ActionsValidationError> for InvalidTxError {
8376 fn from(value: ActionsValidationError) -> Self {
8377 Self::ActionsValidation(value)
8378 }
8379 }
8380 impl ::std::convert::From<StorageError> for InvalidTxError {
8381 fn from(value: StorageError) -> Self {
8382 Self::StorageError(value)
8383 }
8384 }
8385 #[doc = "`JsonRpcRequestForBlock`"]
8386 #[doc = r""]
8387 #[doc = r" <details><summary>JSON schema</summary>"]
8388 #[doc = r""]
8389 #[doc = r" ```json"]
8390 #[doc = "{"]
8391 #[doc = " \"title\": \"JsonRpcRequest_for_block\","]
8392 #[doc = " \"type\": \"object\","]
8393 #[doc = " \"required\": ["]
8394 #[doc = " \"id\","]
8395 #[doc = " \"jsonrpc\","]
8396 #[doc = " \"method\","]
8397 #[doc = " \"params\""]
8398 #[doc = " ],"]
8399 #[doc = " \"properties\": {"]
8400 #[doc = " \"id\": {"]
8401 #[doc = " \"type\": \"string\""]
8402 #[doc = " },"]
8403 #[doc = " \"jsonrpc\": {"]
8404 #[doc = " \"type\": \"string\""]
8405 #[doc = " },"]
8406 #[doc = " \"method\": {"]
8407 #[doc = " \"type\": \"string\","]
8408 #[doc = " \"enum\": ["]
8409 #[doc = " \"block\""]
8410 #[doc = " ]"]
8411 #[doc = " },"]
8412 #[doc = " \"params\": {"]
8413 #[doc = " \"$ref\": \"#/components/schemas/RpcBlockRequest\""]
8414 #[doc = " }"]
8415 #[doc = " }"]
8416 #[doc = "}"]
8417 #[doc = r" ```"]
8418 #[doc = r" </details>"]
8419 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
8420 pub struct JsonRpcRequestForBlock {
8421 pub id: ::std::string::String,
8422 pub jsonrpc: ::std::string::String,
8423 pub method: JsonRpcRequestForBlockMethod,
8424 pub params: RpcBlockRequest,
8425 }
8426 impl ::std::convert::From<&JsonRpcRequestForBlock> for JsonRpcRequestForBlock {
8427 fn from(value: &JsonRpcRequestForBlock) -> Self {
8428 value.clone()
8429 }
8430 }
8431 #[doc = "`JsonRpcRequestForBlockMethod`"]
8432 #[doc = r""]
8433 #[doc = r" <details><summary>JSON schema</summary>"]
8434 #[doc = r""]
8435 #[doc = r" ```json"]
8436 #[doc = "{"]
8437 #[doc = " \"type\": \"string\","]
8438 #[doc = " \"enum\": ["]
8439 #[doc = " \"block\""]
8440 #[doc = " ]"]
8441 #[doc = "}"]
8442 #[doc = r" ```"]
8443 #[doc = r" </details>"]
8444 #[derive(
8445 :: serde :: Deserialize,
8446 :: serde :: Serialize,
8447 Clone,
8448 Copy,
8449 Debug,
8450 Eq,
8451 Hash,
8452 Ord,
8453 PartialEq,
8454 PartialOrd,
8455 )]
8456 pub enum JsonRpcRequestForBlockMethod {
8457 #[serde(rename = "block")]
8458 Block,
8459 }
8460 impl ::std::convert::From<&Self> for JsonRpcRequestForBlockMethod {
8461 fn from(value: &JsonRpcRequestForBlockMethod) -> Self {
8462 value.clone()
8463 }
8464 }
8465 impl ::std::fmt::Display for JsonRpcRequestForBlockMethod {
8466 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8467 match *self {
8468 Self::Block => write!(f, "block"),
8469 }
8470 }
8471 }
8472 impl ::std::str::FromStr for JsonRpcRequestForBlockMethod {
8473 type Err = self::error::ConversionError;
8474 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8475 match value {
8476 "block" => Ok(Self::Block),
8477 _ => Err("invalid value".into()),
8478 }
8479 }
8480 }
8481 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForBlockMethod {
8482 type Error = self::error::ConversionError;
8483 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8484 value.parse()
8485 }
8486 }
8487 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForBlockMethod {
8488 type Error = self::error::ConversionError;
8489 fn try_from(
8490 value: &::std::string::String,
8491 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8492 value.parse()
8493 }
8494 }
8495 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForBlockMethod {
8496 type Error = self::error::ConversionError;
8497 fn try_from(
8498 value: ::std::string::String,
8499 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8500 value.parse()
8501 }
8502 }
8503 #[doc = "`JsonRpcRequestForBroadcastTxAsync`"]
8504 #[doc = r""]
8505 #[doc = r" <details><summary>JSON schema</summary>"]
8506 #[doc = r""]
8507 #[doc = r" ```json"]
8508 #[doc = "{"]
8509 #[doc = " \"title\": \"JsonRpcRequest_for_broadcast_tx_async\","]
8510 #[doc = " \"type\": \"object\","]
8511 #[doc = " \"required\": ["]
8512 #[doc = " \"id\","]
8513 #[doc = " \"jsonrpc\","]
8514 #[doc = " \"method\","]
8515 #[doc = " \"params\""]
8516 #[doc = " ],"]
8517 #[doc = " \"properties\": {"]
8518 #[doc = " \"id\": {"]
8519 #[doc = " \"type\": \"string\""]
8520 #[doc = " },"]
8521 #[doc = " \"jsonrpc\": {"]
8522 #[doc = " \"type\": \"string\""]
8523 #[doc = " },"]
8524 #[doc = " \"method\": {"]
8525 #[doc = " \"type\": \"string\","]
8526 #[doc = " \"enum\": ["]
8527 #[doc = " \"broadcast_tx_async\""]
8528 #[doc = " ]"]
8529 #[doc = " },"]
8530 #[doc = " \"params\": {"]
8531 #[doc = " \"$ref\": \"#/components/schemas/RpcSendTransactionRequest\""]
8532 #[doc = " }"]
8533 #[doc = " }"]
8534 #[doc = "}"]
8535 #[doc = r" ```"]
8536 #[doc = r" </details>"]
8537 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
8538 pub struct JsonRpcRequestForBroadcastTxAsync {
8539 pub id: ::std::string::String,
8540 pub jsonrpc: ::std::string::String,
8541 pub method: JsonRpcRequestForBroadcastTxAsyncMethod,
8542 pub params: RpcSendTransactionRequest,
8543 }
8544 impl ::std::convert::From<&JsonRpcRequestForBroadcastTxAsync>
8545 for JsonRpcRequestForBroadcastTxAsync
8546 {
8547 fn from(value: &JsonRpcRequestForBroadcastTxAsync) -> Self {
8548 value.clone()
8549 }
8550 }
8551 #[doc = "`JsonRpcRequestForBroadcastTxAsyncMethod`"]
8552 #[doc = r""]
8553 #[doc = r" <details><summary>JSON schema</summary>"]
8554 #[doc = r""]
8555 #[doc = r" ```json"]
8556 #[doc = "{"]
8557 #[doc = " \"type\": \"string\","]
8558 #[doc = " \"enum\": ["]
8559 #[doc = " \"broadcast_tx_async\""]
8560 #[doc = " ]"]
8561 #[doc = "}"]
8562 #[doc = r" ```"]
8563 #[doc = r" </details>"]
8564 #[derive(
8565 :: serde :: Deserialize,
8566 :: serde :: Serialize,
8567 Clone,
8568 Copy,
8569 Debug,
8570 Eq,
8571 Hash,
8572 Ord,
8573 PartialEq,
8574 PartialOrd,
8575 )]
8576 pub enum JsonRpcRequestForBroadcastTxAsyncMethod {
8577 #[serde(rename = "broadcast_tx_async")]
8578 BroadcastTxAsync,
8579 }
8580 impl ::std::convert::From<&Self> for JsonRpcRequestForBroadcastTxAsyncMethod {
8581 fn from(value: &JsonRpcRequestForBroadcastTxAsyncMethod) -> Self {
8582 value.clone()
8583 }
8584 }
8585 impl ::std::fmt::Display for JsonRpcRequestForBroadcastTxAsyncMethod {
8586 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8587 match *self {
8588 Self::BroadcastTxAsync => write!(f, "broadcast_tx_async"),
8589 }
8590 }
8591 }
8592 impl ::std::str::FromStr for JsonRpcRequestForBroadcastTxAsyncMethod {
8593 type Err = self::error::ConversionError;
8594 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8595 match value {
8596 "broadcast_tx_async" => Ok(Self::BroadcastTxAsync),
8597 _ => Err("invalid value".into()),
8598 }
8599 }
8600 }
8601 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForBroadcastTxAsyncMethod {
8602 type Error = self::error::ConversionError;
8603 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8604 value.parse()
8605 }
8606 }
8607 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForBroadcastTxAsyncMethod {
8608 type Error = self::error::ConversionError;
8609 fn try_from(
8610 value: &::std::string::String,
8611 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8612 value.parse()
8613 }
8614 }
8615 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForBroadcastTxAsyncMethod {
8616 type Error = self::error::ConversionError;
8617 fn try_from(
8618 value: ::std::string::String,
8619 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8620 value.parse()
8621 }
8622 }
8623 #[doc = "`JsonRpcRequestForBroadcastTxCommit`"]
8624 #[doc = r""]
8625 #[doc = r" <details><summary>JSON schema</summary>"]
8626 #[doc = r""]
8627 #[doc = r" ```json"]
8628 #[doc = "{"]
8629 #[doc = " \"title\": \"JsonRpcRequest_for_broadcast_tx_commit\","]
8630 #[doc = " \"type\": \"object\","]
8631 #[doc = " \"required\": ["]
8632 #[doc = " \"id\","]
8633 #[doc = " \"jsonrpc\","]
8634 #[doc = " \"method\","]
8635 #[doc = " \"params\""]
8636 #[doc = " ],"]
8637 #[doc = " \"properties\": {"]
8638 #[doc = " \"id\": {"]
8639 #[doc = " \"type\": \"string\""]
8640 #[doc = " },"]
8641 #[doc = " \"jsonrpc\": {"]
8642 #[doc = " \"type\": \"string\""]
8643 #[doc = " },"]
8644 #[doc = " \"method\": {"]
8645 #[doc = " \"type\": \"string\","]
8646 #[doc = " \"enum\": ["]
8647 #[doc = " \"broadcast_tx_commit\""]
8648 #[doc = " ]"]
8649 #[doc = " },"]
8650 #[doc = " \"params\": {"]
8651 #[doc = " \"$ref\": \"#/components/schemas/RpcSendTransactionRequest\""]
8652 #[doc = " }"]
8653 #[doc = " }"]
8654 #[doc = "}"]
8655 #[doc = r" ```"]
8656 #[doc = r" </details>"]
8657 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
8658 pub struct JsonRpcRequestForBroadcastTxCommit {
8659 pub id: ::std::string::String,
8660 pub jsonrpc: ::std::string::String,
8661 pub method: JsonRpcRequestForBroadcastTxCommitMethod,
8662 pub params: RpcSendTransactionRequest,
8663 }
8664 impl ::std::convert::From<&JsonRpcRequestForBroadcastTxCommit>
8665 for JsonRpcRequestForBroadcastTxCommit
8666 {
8667 fn from(value: &JsonRpcRequestForBroadcastTxCommit) -> Self {
8668 value.clone()
8669 }
8670 }
8671 #[doc = "`JsonRpcRequestForBroadcastTxCommitMethod`"]
8672 #[doc = r""]
8673 #[doc = r" <details><summary>JSON schema</summary>"]
8674 #[doc = r""]
8675 #[doc = r" ```json"]
8676 #[doc = "{"]
8677 #[doc = " \"type\": \"string\","]
8678 #[doc = " \"enum\": ["]
8679 #[doc = " \"broadcast_tx_commit\""]
8680 #[doc = " ]"]
8681 #[doc = "}"]
8682 #[doc = r" ```"]
8683 #[doc = r" </details>"]
8684 #[derive(
8685 :: serde :: Deserialize,
8686 :: serde :: Serialize,
8687 Clone,
8688 Copy,
8689 Debug,
8690 Eq,
8691 Hash,
8692 Ord,
8693 PartialEq,
8694 PartialOrd,
8695 )]
8696 pub enum JsonRpcRequestForBroadcastTxCommitMethod {
8697 #[serde(rename = "broadcast_tx_commit")]
8698 BroadcastTxCommit,
8699 }
8700 impl ::std::convert::From<&Self> for JsonRpcRequestForBroadcastTxCommitMethod {
8701 fn from(value: &JsonRpcRequestForBroadcastTxCommitMethod) -> Self {
8702 value.clone()
8703 }
8704 }
8705 impl ::std::fmt::Display for JsonRpcRequestForBroadcastTxCommitMethod {
8706 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8707 match *self {
8708 Self::BroadcastTxCommit => write!(f, "broadcast_tx_commit"),
8709 }
8710 }
8711 }
8712 impl ::std::str::FromStr for JsonRpcRequestForBroadcastTxCommitMethod {
8713 type Err = self::error::ConversionError;
8714 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8715 match value {
8716 "broadcast_tx_commit" => Ok(Self::BroadcastTxCommit),
8717 _ => Err("invalid value".into()),
8718 }
8719 }
8720 }
8721 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForBroadcastTxCommitMethod {
8722 type Error = self::error::ConversionError;
8723 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8724 value.parse()
8725 }
8726 }
8727 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForBroadcastTxCommitMethod {
8728 type Error = self::error::ConversionError;
8729 fn try_from(
8730 value: &::std::string::String,
8731 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8732 value.parse()
8733 }
8734 }
8735 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForBroadcastTxCommitMethod {
8736 type Error = self::error::ConversionError;
8737 fn try_from(
8738 value: ::std::string::String,
8739 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8740 value.parse()
8741 }
8742 }
8743 #[doc = "`JsonRpcRequestForChunk`"]
8744 #[doc = r""]
8745 #[doc = r" <details><summary>JSON schema</summary>"]
8746 #[doc = r""]
8747 #[doc = r" ```json"]
8748 #[doc = "{"]
8749 #[doc = " \"title\": \"JsonRpcRequest_for_chunk\","]
8750 #[doc = " \"type\": \"object\","]
8751 #[doc = " \"required\": ["]
8752 #[doc = " \"id\","]
8753 #[doc = " \"jsonrpc\","]
8754 #[doc = " \"method\","]
8755 #[doc = " \"params\""]
8756 #[doc = " ],"]
8757 #[doc = " \"properties\": {"]
8758 #[doc = " \"id\": {"]
8759 #[doc = " \"type\": \"string\""]
8760 #[doc = " },"]
8761 #[doc = " \"jsonrpc\": {"]
8762 #[doc = " \"type\": \"string\""]
8763 #[doc = " },"]
8764 #[doc = " \"method\": {"]
8765 #[doc = " \"type\": \"string\","]
8766 #[doc = " \"enum\": ["]
8767 #[doc = " \"chunk\""]
8768 #[doc = " ]"]
8769 #[doc = " },"]
8770 #[doc = " \"params\": {"]
8771 #[doc = " \"$ref\": \"#/components/schemas/RpcChunkRequest\""]
8772 #[doc = " }"]
8773 #[doc = " }"]
8774 #[doc = "}"]
8775 #[doc = r" ```"]
8776 #[doc = r" </details>"]
8777 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
8778 pub struct JsonRpcRequestForChunk {
8779 pub id: ::std::string::String,
8780 pub jsonrpc: ::std::string::String,
8781 pub method: JsonRpcRequestForChunkMethod,
8782 pub params: RpcChunkRequest,
8783 }
8784 impl ::std::convert::From<&JsonRpcRequestForChunk> for JsonRpcRequestForChunk {
8785 fn from(value: &JsonRpcRequestForChunk) -> Self {
8786 value.clone()
8787 }
8788 }
8789 #[doc = "`JsonRpcRequestForChunkMethod`"]
8790 #[doc = r""]
8791 #[doc = r" <details><summary>JSON schema</summary>"]
8792 #[doc = r""]
8793 #[doc = r" ```json"]
8794 #[doc = "{"]
8795 #[doc = " \"type\": \"string\","]
8796 #[doc = " \"enum\": ["]
8797 #[doc = " \"chunk\""]
8798 #[doc = " ]"]
8799 #[doc = "}"]
8800 #[doc = r" ```"]
8801 #[doc = r" </details>"]
8802 #[derive(
8803 :: serde :: Deserialize,
8804 :: serde :: Serialize,
8805 Clone,
8806 Copy,
8807 Debug,
8808 Eq,
8809 Hash,
8810 Ord,
8811 PartialEq,
8812 PartialOrd,
8813 )]
8814 pub enum JsonRpcRequestForChunkMethod {
8815 #[serde(rename = "chunk")]
8816 Chunk,
8817 }
8818 impl ::std::convert::From<&Self> for JsonRpcRequestForChunkMethod {
8819 fn from(value: &JsonRpcRequestForChunkMethod) -> Self {
8820 value.clone()
8821 }
8822 }
8823 impl ::std::fmt::Display for JsonRpcRequestForChunkMethod {
8824 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8825 match *self {
8826 Self::Chunk => write!(f, "chunk"),
8827 }
8828 }
8829 }
8830 impl ::std::str::FromStr for JsonRpcRequestForChunkMethod {
8831 type Err = self::error::ConversionError;
8832 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8833 match value {
8834 "chunk" => Ok(Self::Chunk),
8835 _ => Err("invalid value".into()),
8836 }
8837 }
8838 }
8839 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForChunkMethod {
8840 type Error = self::error::ConversionError;
8841 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8842 value.parse()
8843 }
8844 }
8845 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForChunkMethod {
8846 type Error = self::error::ConversionError;
8847 fn try_from(
8848 value: &::std::string::String,
8849 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8850 value.parse()
8851 }
8852 }
8853 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForChunkMethod {
8854 type Error = self::error::ConversionError;
8855 fn try_from(
8856 value: ::std::string::String,
8857 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8858 value.parse()
8859 }
8860 }
8861 #[doc = "`JsonRpcRequestForClientConfig`"]
8862 #[doc = r""]
8863 #[doc = r" <details><summary>JSON schema</summary>"]
8864 #[doc = r""]
8865 #[doc = r" ```json"]
8866 #[doc = "{"]
8867 #[doc = " \"title\": \"JsonRpcRequest_for_client_config\","]
8868 #[doc = " \"type\": \"object\","]
8869 #[doc = " \"required\": ["]
8870 #[doc = " \"id\","]
8871 #[doc = " \"jsonrpc\","]
8872 #[doc = " \"method\","]
8873 #[doc = " \"params\""]
8874 #[doc = " ],"]
8875 #[doc = " \"properties\": {"]
8876 #[doc = " \"id\": {"]
8877 #[doc = " \"type\": \"string\""]
8878 #[doc = " },"]
8879 #[doc = " \"jsonrpc\": {"]
8880 #[doc = " \"type\": \"string\""]
8881 #[doc = " },"]
8882 #[doc = " \"method\": {"]
8883 #[doc = " \"type\": \"string\","]
8884 #[doc = " \"enum\": ["]
8885 #[doc = " \"client_config\""]
8886 #[doc = " ]"]
8887 #[doc = " },"]
8888 #[doc = " \"params\": {"]
8889 #[doc = " \"$ref\": \"#/components/schemas/RpcClientConfigRequest\""]
8890 #[doc = " }"]
8891 #[doc = " }"]
8892 #[doc = "}"]
8893 #[doc = r" ```"]
8894 #[doc = r" </details>"]
8895 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
8896 pub struct JsonRpcRequestForClientConfig {
8897 pub id: ::std::string::String,
8898 pub jsonrpc: ::std::string::String,
8899 pub method: JsonRpcRequestForClientConfigMethod,
8900 pub params: RpcClientConfigRequest,
8901 }
8902 impl ::std::convert::From<&JsonRpcRequestForClientConfig> for JsonRpcRequestForClientConfig {
8903 fn from(value: &JsonRpcRequestForClientConfig) -> Self {
8904 value.clone()
8905 }
8906 }
8907 #[doc = "`JsonRpcRequestForClientConfigMethod`"]
8908 #[doc = r""]
8909 #[doc = r" <details><summary>JSON schema</summary>"]
8910 #[doc = r""]
8911 #[doc = r" ```json"]
8912 #[doc = "{"]
8913 #[doc = " \"type\": \"string\","]
8914 #[doc = " \"enum\": ["]
8915 #[doc = " \"client_config\""]
8916 #[doc = " ]"]
8917 #[doc = "}"]
8918 #[doc = r" ```"]
8919 #[doc = r" </details>"]
8920 #[derive(
8921 :: serde :: Deserialize,
8922 :: serde :: Serialize,
8923 Clone,
8924 Copy,
8925 Debug,
8926 Eq,
8927 Hash,
8928 Ord,
8929 PartialEq,
8930 PartialOrd,
8931 )]
8932 pub enum JsonRpcRequestForClientConfigMethod {
8933 #[serde(rename = "client_config")]
8934 ClientConfig,
8935 }
8936 impl ::std::convert::From<&Self> for JsonRpcRequestForClientConfigMethod {
8937 fn from(value: &JsonRpcRequestForClientConfigMethod) -> Self {
8938 value.clone()
8939 }
8940 }
8941 impl ::std::fmt::Display for JsonRpcRequestForClientConfigMethod {
8942 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8943 match *self {
8944 Self::ClientConfig => write!(f, "client_config"),
8945 }
8946 }
8947 }
8948 impl ::std::str::FromStr for JsonRpcRequestForClientConfigMethod {
8949 type Err = self::error::ConversionError;
8950 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8951 match value {
8952 "client_config" => Ok(Self::ClientConfig),
8953 _ => Err("invalid value".into()),
8954 }
8955 }
8956 }
8957 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForClientConfigMethod {
8958 type Error = self::error::ConversionError;
8959 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
8960 value.parse()
8961 }
8962 }
8963 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForClientConfigMethod {
8964 type Error = self::error::ConversionError;
8965 fn try_from(
8966 value: &::std::string::String,
8967 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8968 value.parse()
8969 }
8970 }
8971 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForClientConfigMethod {
8972 type Error = self::error::ConversionError;
8973 fn try_from(
8974 value: ::std::string::String,
8975 ) -> ::std::result::Result<Self, self::error::ConversionError> {
8976 value.parse()
8977 }
8978 }
8979 #[doc = "`JsonRpcRequestForExperimentalChanges`"]
8980 #[doc = r""]
8981 #[doc = r" <details><summary>JSON schema</summary>"]
8982 #[doc = r""]
8983 #[doc = r" ```json"]
8984 #[doc = "{"]
8985 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_changes\","]
8986 #[doc = " \"type\": \"object\","]
8987 #[doc = " \"required\": ["]
8988 #[doc = " \"id\","]
8989 #[doc = " \"jsonrpc\","]
8990 #[doc = " \"method\","]
8991 #[doc = " \"params\""]
8992 #[doc = " ],"]
8993 #[doc = " \"properties\": {"]
8994 #[doc = " \"id\": {"]
8995 #[doc = " \"type\": \"string\""]
8996 #[doc = " },"]
8997 #[doc = " \"jsonrpc\": {"]
8998 #[doc = " \"type\": \"string\""]
8999 #[doc = " },"]
9000 #[doc = " \"method\": {"]
9001 #[doc = " \"type\": \"string\","]
9002 #[doc = " \"enum\": ["]
9003 #[doc = " \"EXPERIMENTAL_changes\""]
9004 #[doc = " ]"]
9005 #[doc = " },"]
9006 #[doc = " \"params\": {"]
9007 #[doc = " \"$ref\": \"#/components/schemas/RpcStateChangesInBlockByTypeRequest\""]
9008 #[doc = " }"]
9009 #[doc = " }"]
9010 #[doc = "}"]
9011 #[doc = r" ```"]
9012 #[doc = r" </details>"]
9013 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9014 pub struct JsonRpcRequestForExperimentalChanges {
9015 pub id: ::std::string::String,
9016 pub jsonrpc: ::std::string::String,
9017 pub method: JsonRpcRequestForExperimentalChangesMethod,
9018 pub params: RpcStateChangesInBlockByTypeRequest,
9019 }
9020 impl ::std::convert::From<&JsonRpcRequestForExperimentalChanges>
9021 for JsonRpcRequestForExperimentalChanges
9022 {
9023 fn from(value: &JsonRpcRequestForExperimentalChanges) -> Self {
9024 value.clone()
9025 }
9026 }
9027 #[doc = "`JsonRpcRequestForExperimentalChangesInBlock`"]
9028 #[doc = r""]
9029 #[doc = r" <details><summary>JSON schema</summary>"]
9030 #[doc = r""]
9031 #[doc = r" ```json"]
9032 #[doc = "{"]
9033 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_changes_in_block\","]
9034 #[doc = " \"type\": \"object\","]
9035 #[doc = " \"required\": ["]
9036 #[doc = " \"id\","]
9037 #[doc = " \"jsonrpc\","]
9038 #[doc = " \"method\","]
9039 #[doc = " \"params\""]
9040 #[doc = " ],"]
9041 #[doc = " \"properties\": {"]
9042 #[doc = " \"id\": {"]
9043 #[doc = " \"type\": \"string\""]
9044 #[doc = " },"]
9045 #[doc = " \"jsonrpc\": {"]
9046 #[doc = " \"type\": \"string\""]
9047 #[doc = " },"]
9048 #[doc = " \"method\": {"]
9049 #[doc = " \"type\": \"string\","]
9050 #[doc = " \"enum\": ["]
9051 #[doc = " \"EXPERIMENTAL_changes_in_block\""]
9052 #[doc = " ]"]
9053 #[doc = " },"]
9054 #[doc = " \"params\": {"]
9055 #[doc = " \"$ref\": \"#/components/schemas/RpcStateChangesInBlockRequest\""]
9056 #[doc = " }"]
9057 #[doc = " }"]
9058 #[doc = "}"]
9059 #[doc = r" ```"]
9060 #[doc = r" </details>"]
9061 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9062 pub struct JsonRpcRequestForExperimentalChangesInBlock {
9063 pub id: ::std::string::String,
9064 pub jsonrpc: ::std::string::String,
9065 pub method: JsonRpcRequestForExperimentalChangesInBlockMethod,
9066 pub params: RpcStateChangesInBlockRequest,
9067 }
9068 impl ::std::convert::From<&JsonRpcRequestForExperimentalChangesInBlock>
9069 for JsonRpcRequestForExperimentalChangesInBlock
9070 {
9071 fn from(value: &JsonRpcRequestForExperimentalChangesInBlock) -> Self {
9072 value.clone()
9073 }
9074 }
9075 #[doc = "`JsonRpcRequestForExperimentalChangesInBlockMethod`"]
9076 #[doc = r""]
9077 #[doc = r" <details><summary>JSON schema</summary>"]
9078 #[doc = r""]
9079 #[doc = r" ```json"]
9080 #[doc = "{"]
9081 #[doc = " \"type\": \"string\","]
9082 #[doc = " \"enum\": ["]
9083 #[doc = " \"EXPERIMENTAL_changes_in_block\""]
9084 #[doc = " ]"]
9085 #[doc = "}"]
9086 #[doc = r" ```"]
9087 #[doc = r" </details>"]
9088 #[derive(
9089 :: serde :: Deserialize,
9090 :: serde :: Serialize,
9091 Clone,
9092 Copy,
9093 Debug,
9094 Eq,
9095 Hash,
9096 Ord,
9097 PartialEq,
9098 PartialOrd,
9099 )]
9100 pub enum JsonRpcRequestForExperimentalChangesInBlockMethod {
9101 #[serde(rename = "EXPERIMENTAL_changes_in_block")]
9102 ExperimentalChangesInBlock,
9103 }
9104 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalChangesInBlockMethod {
9105 fn from(value: &JsonRpcRequestForExperimentalChangesInBlockMethod) -> Self {
9106 value.clone()
9107 }
9108 }
9109 impl ::std::fmt::Display for JsonRpcRequestForExperimentalChangesInBlockMethod {
9110 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9111 match *self {
9112 Self::ExperimentalChangesInBlock => write!(f, "EXPERIMENTAL_changes_in_block"),
9113 }
9114 }
9115 }
9116 impl ::std::str::FromStr for JsonRpcRequestForExperimentalChangesInBlockMethod {
9117 type Err = self::error::ConversionError;
9118 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9119 match value {
9120 "EXPERIMENTAL_changes_in_block" => Ok(Self::ExperimentalChangesInBlock),
9121 _ => Err("invalid value".into()),
9122 }
9123 }
9124 }
9125 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalChangesInBlockMethod {
9126 type Error = self::error::ConversionError;
9127 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9128 value.parse()
9129 }
9130 }
9131 impl ::std::convert::TryFrom<&::std::string::String>
9132 for JsonRpcRequestForExperimentalChangesInBlockMethod
9133 {
9134 type Error = self::error::ConversionError;
9135 fn try_from(
9136 value: &::std::string::String,
9137 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9138 value.parse()
9139 }
9140 }
9141 impl ::std::convert::TryFrom<::std::string::String>
9142 for JsonRpcRequestForExperimentalChangesInBlockMethod
9143 {
9144 type Error = self::error::ConversionError;
9145 fn try_from(
9146 value: ::std::string::String,
9147 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9148 value.parse()
9149 }
9150 }
9151 #[doc = "`JsonRpcRequestForExperimentalChangesMethod`"]
9152 #[doc = r""]
9153 #[doc = r" <details><summary>JSON schema</summary>"]
9154 #[doc = r""]
9155 #[doc = r" ```json"]
9156 #[doc = "{"]
9157 #[doc = " \"type\": \"string\","]
9158 #[doc = " \"enum\": ["]
9159 #[doc = " \"EXPERIMENTAL_changes\""]
9160 #[doc = " ]"]
9161 #[doc = "}"]
9162 #[doc = r" ```"]
9163 #[doc = r" </details>"]
9164 #[derive(
9165 :: serde :: Deserialize,
9166 :: serde :: Serialize,
9167 Clone,
9168 Copy,
9169 Debug,
9170 Eq,
9171 Hash,
9172 Ord,
9173 PartialEq,
9174 PartialOrd,
9175 )]
9176 pub enum JsonRpcRequestForExperimentalChangesMethod {
9177 #[serde(rename = "EXPERIMENTAL_changes")]
9178 ExperimentalChanges,
9179 }
9180 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalChangesMethod {
9181 fn from(value: &JsonRpcRequestForExperimentalChangesMethod) -> Self {
9182 value.clone()
9183 }
9184 }
9185 impl ::std::fmt::Display for JsonRpcRequestForExperimentalChangesMethod {
9186 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9187 match *self {
9188 Self::ExperimentalChanges => write!(f, "EXPERIMENTAL_changes"),
9189 }
9190 }
9191 }
9192 impl ::std::str::FromStr for JsonRpcRequestForExperimentalChangesMethod {
9193 type Err = self::error::ConversionError;
9194 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9195 match value {
9196 "EXPERIMENTAL_changes" => Ok(Self::ExperimentalChanges),
9197 _ => Err("invalid value".into()),
9198 }
9199 }
9200 }
9201 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalChangesMethod {
9202 type Error = self::error::ConversionError;
9203 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9204 value.parse()
9205 }
9206 }
9207 impl ::std::convert::TryFrom<&::std::string::String>
9208 for JsonRpcRequestForExperimentalChangesMethod
9209 {
9210 type Error = self::error::ConversionError;
9211 fn try_from(
9212 value: &::std::string::String,
9213 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9214 value.parse()
9215 }
9216 }
9217 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForExperimentalChangesMethod {
9218 type Error = self::error::ConversionError;
9219 fn try_from(
9220 value: ::std::string::String,
9221 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9222 value.parse()
9223 }
9224 }
9225 #[doc = "`JsonRpcRequestForExperimentalCongestionLevel`"]
9226 #[doc = r""]
9227 #[doc = r" <details><summary>JSON schema</summary>"]
9228 #[doc = r""]
9229 #[doc = r" ```json"]
9230 #[doc = "{"]
9231 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_congestion_level\","]
9232 #[doc = " \"type\": \"object\","]
9233 #[doc = " \"required\": ["]
9234 #[doc = " \"id\","]
9235 #[doc = " \"jsonrpc\","]
9236 #[doc = " \"method\","]
9237 #[doc = " \"params\""]
9238 #[doc = " ],"]
9239 #[doc = " \"properties\": {"]
9240 #[doc = " \"id\": {"]
9241 #[doc = " \"type\": \"string\""]
9242 #[doc = " },"]
9243 #[doc = " \"jsonrpc\": {"]
9244 #[doc = " \"type\": \"string\""]
9245 #[doc = " },"]
9246 #[doc = " \"method\": {"]
9247 #[doc = " \"type\": \"string\","]
9248 #[doc = " \"enum\": ["]
9249 #[doc = " \"EXPERIMENTAL_congestion_level\""]
9250 #[doc = " ]"]
9251 #[doc = " },"]
9252 #[doc = " \"params\": {"]
9253 #[doc = " \"$ref\": \"#/components/schemas/RpcCongestionLevelRequest\""]
9254 #[doc = " }"]
9255 #[doc = " }"]
9256 #[doc = "}"]
9257 #[doc = r" ```"]
9258 #[doc = r" </details>"]
9259 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9260 pub struct JsonRpcRequestForExperimentalCongestionLevel {
9261 pub id: ::std::string::String,
9262 pub jsonrpc: ::std::string::String,
9263 pub method: JsonRpcRequestForExperimentalCongestionLevelMethod,
9264 pub params: RpcCongestionLevelRequest,
9265 }
9266 impl ::std::convert::From<&JsonRpcRequestForExperimentalCongestionLevel>
9267 for JsonRpcRequestForExperimentalCongestionLevel
9268 {
9269 fn from(value: &JsonRpcRequestForExperimentalCongestionLevel) -> Self {
9270 value.clone()
9271 }
9272 }
9273 #[doc = "`JsonRpcRequestForExperimentalCongestionLevelMethod`"]
9274 #[doc = r""]
9275 #[doc = r" <details><summary>JSON schema</summary>"]
9276 #[doc = r""]
9277 #[doc = r" ```json"]
9278 #[doc = "{"]
9279 #[doc = " \"type\": \"string\","]
9280 #[doc = " \"enum\": ["]
9281 #[doc = " \"EXPERIMENTAL_congestion_level\""]
9282 #[doc = " ]"]
9283 #[doc = "}"]
9284 #[doc = r" ```"]
9285 #[doc = r" </details>"]
9286 #[derive(
9287 :: serde :: Deserialize,
9288 :: serde :: Serialize,
9289 Clone,
9290 Copy,
9291 Debug,
9292 Eq,
9293 Hash,
9294 Ord,
9295 PartialEq,
9296 PartialOrd,
9297 )]
9298 pub enum JsonRpcRequestForExperimentalCongestionLevelMethod {
9299 #[serde(rename = "EXPERIMENTAL_congestion_level")]
9300 ExperimentalCongestionLevel,
9301 }
9302 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalCongestionLevelMethod {
9303 fn from(value: &JsonRpcRequestForExperimentalCongestionLevelMethod) -> Self {
9304 value.clone()
9305 }
9306 }
9307 impl ::std::fmt::Display for JsonRpcRequestForExperimentalCongestionLevelMethod {
9308 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9309 match *self {
9310 Self::ExperimentalCongestionLevel => write!(f, "EXPERIMENTAL_congestion_level"),
9311 }
9312 }
9313 }
9314 impl ::std::str::FromStr for JsonRpcRequestForExperimentalCongestionLevelMethod {
9315 type Err = self::error::ConversionError;
9316 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9317 match value {
9318 "EXPERIMENTAL_congestion_level" => Ok(Self::ExperimentalCongestionLevel),
9319 _ => Err("invalid value".into()),
9320 }
9321 }
9322 }
9323 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalCongestionLevelMethod {
9324 type Error = self::error::ConversionError;
9325 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9326 value.parse()
9327 }
9328 }
9329 impl ::std::convert::TryFrom<&::std::string::String>
9330 for JsonRpcRequestForExperimentalCongestionLevelMethod
9331 {
9332 type Error = self::error::ConversionError;
9333 fn try_from(
9334 value: &::std::string::String,
9335 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9336 value.parse()
9337 }
9338 }
9339 impl ::std::convert::TryFrom<::std::string::String>
9340 for JsonRpcRequestForExperimentalCongestionLevelMethod
9341 {
9342 type Error = self::error::ConversionError;
9343 fn try_from(
9344 value: ::std::string::String,
9345 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9346 value.parse()
9347 }
9348 }
9349 #[doc = "`JsonRpcRequestForExperimentalGenesisConfig`"]
9350 #[doc = r""]
9351 #[doc = r" <details><summary>JSON schema</summary>"]
9352 #[doc = r""]
9353 #[doc = r" ```json"]
9354 #[doc = "{"]
9355 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_genesis_config\","]
9356 #[doc = " \"type\": \"object\","]
9357 #[doc = " \"required\": ["]
9358 #[doc = " \"id\","]
9359 #[doc = " \"jsonrpc\","]
9360 #[doc = " \"method\","]
9361 #[doc = " \"params\""]
9362 #[doc = " ],"]
9363 #[doc = " \"properties\": {"]
9364 #[doc = " \"id\": {"]
9365 #[doc = " \"type\": \"string\""]
9366 #[doc = " },"]
9367 #[doc = " \"jsonrpc\": {"]
9368 #[doc = " \"type\": \"string\""]
9369 #[doc = " },"]
9370 #[doc = " \"method\": {"]
9371 #[doc = " \"type\": \"string\","]
9372 #[doc = " \"enum\": ["]
9373 #[doc = " \"EXPERIMENTAL_genesis_config\""]
9374 #[doc = " ]"]
9375 #[doc = " },"]
9376 #[doc = " \"params\": {"]
9377 #[doc = " \"$ref\": \"#/components/schemas/GenesisConfigRequest\""]
9378 #[doc = " }"]
9379 #[doc = " }"]
9380 #[doc = "}"]
9381 #[doc = r" ```"]
9382 #[doc = r" </details>"]
9383 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9384 pub struct JsonRpcRequestForExperimentalGenesisConfig {
9385 pub id: ::std::string::String,
9386 pub jsonrpc: ::std::string::String,
9387 pub method: JsonRpcRequestForExperimentalGenesisConfigMethod,
9388 pub params: GenesisConfigRequest,
9389 }
9390 impl ::std::convert::From<&JsonRpcRequestForExperimentalGenesisConfig>
9391 for JsonRpcRequestForExperimentalGenesisConfig
9392 {
9393 fn from(value: &JsonRpcRequestForExperimentalGenesisConfig) -> Self {
9394 value.clone()
9395 }
9396 }
9397 #[doc = "`JsonRpcRequestForExperimentalGenesisConfigMethod`"]
9398 #[doc = r""]
9399 #[doc = r" <details><summary>JSON schema</summary>"]
9400 #[doc = r""]
9401 #[doc = r" ```json"]
9402 #[doc = "{"]
9403 #[doc = " \"type\": \"string\","]
9404 #[doc = " \"enum\": ["]
9405 #[doc = " \"EXPERIMENTAL_genesis_config\""]
9406 #[doc = " ]"]
9407 #[doc = "}"]
9408 #[doc = r" ```"]
9409 #[doc = r" </details>"]
9410 #[derive(
9411 :: serde :: Deserialize,
9412 :: serde :: Serialize,
9413 Clone,
9414 Copy,
9415 Debug,
9416 Eq,
9417 Hash,
9418 Ord,
9419 PartialEq,
9420 PartialOrd,
9421 )]
9422 pub enum JsonRpcRequestForExperimentalGenesisConfigMethod {
9423 #[serde(rename = "EXPERIMENTAL_genesis_config")]
9424 ExperimentalGenesisConfig,
9425 }
9426 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalGenesisConfigMethod {
9427 fn from(value: &JsonRpcRequestForExperimentalGenesisConfigMethod) -> Self {
9428 value.clone()
9429 }
9430 }
9431 impl ::std::fmt::Display for JsonRpcRequestForExperimentalGenesisConfigMethod {
9432 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9433 match *self {
9434 Self::ExperimentalGenesisConfig => write!(f, "EXPERIMENTAL_genesis_config"),
9435 }
9436 }
9437 }
9438 impl ::std::str::FromStr for JsonRpcRequestForExperimentalGenesisConfigMethod {
9439 type Err = self::error::ConversionError;
9440 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9441 match value {
9442 "EXPERIMENTAL_genesis_config" => Ok(Self::ExperimentalGenesisConfig),
9443 _ => Err("invalid value".into()),
9444 }
9445 }
9446 }
9447 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalGenesisConfigMethod {
9448 type Error = self::error::ConversionError;
9449 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9450 value.parse()
9451 }
9452 }
9453 impl ::std::convert::TryFrom<&::std::string::String>
9454 for JsonRpcRequestForExperimentalGenesisConfigMethod
9455 {
9456 type Error = self::error::ConversionError;
9457 fn try_from(
9458 value: &::std::string::String,
9459 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9460 value.parse()
9461 }
9462 }
9463 impl ::std::convert::TryFrom<::std::string::String>
9464 for JsonRpcRequestForExperimentalGenesisConfigMethod
9465 {
9466 type Error = self::error::ConversionError;
9467 fn try_from(
9468 value: ::std::string::String,
9469 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9470 value.parse()
9471 }
9472 }
9473 #[doc = "`JsonRpcRequestForExperimentalLightClientBlockProof`"]
9474 #[doc = r""]
9475 #[doc = r" <details><summary>JSON schema</summary>"]
9476 #[doc = r""]
9477 #[doc = r" ```json"]
9478 #[doc = "{"]
9479 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_light_client_block_proof\","]
9480 #[doc = " \"type\": \"object\","]
9481 #[doc = " \"required\": ["]
9482 #[doc = " \"id\","]
9483 #[doc = " \"jsonrpc\","]
9484 #[doc = " \"method\","]
9485 #[doc = " \"params\""]
9486 #[doc = " ],"]
9487 #[doc = " \"properties\": {"]
9488 #[doc = " \"id\": {"]
9489 #[doc = " \"type\": \"string\""]
9490 #[doc = " },"]
9491 #[doc = " \"jsonrpc\": {"]
9492 #[doc = " \"type\": \"string\""]
9493 #[doc = " },"]
9494 #[doc = " \"method\": {"]
9495 #[doc = " \"type\": \"string\","]
9496 #[doc = " \"enum\": ["]
9497 #[doc = " \"EXPERIMENTAL_light_client_block_proof\""]
9498 #[doc = " ]"]
9499 #[doc = " },"]
9500 #[doc = " \"params\": {"]
9501 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientBlockProofRequest\""]
9502 #[doc = " }"]
9503 #[doc = " }"]
9504 #[doc = "}"]
9505 #[doc = r" ```"]
9506 #[doc = r" </details>"]
9507 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9508 pub struct JsonRpcRequestForExperimentalLightClientBlockProof {
9509 pub id: ::std::string::String,
9510 pub jsonrpc: ::std::string::String,
9511 pub method: JsonRpcRequestForExperimentalLightClientBlockProofMethod,
9512 pub params: RpcLightClientBlockProofRequest,
9513 }
9514 impl ::std::convert::From<&JsonRpcRequestForExperimentalLightClientBlockProof>
9515 for JsonRpcRequestForExperimentalLightClientBlockProof
9516 {
9517 fn from(value: &JsonRpcRequestForExperimentalLightClientBlockProof) -> Self {
9518 value.clone()
9519 }
9520 }
9521 #[doc = "`JsonRpcRequestForExperimentalLightClientBlockProofMethod`"]
9522 #[doc = r""]
9523 #[doc = r" <details><summary>JSON schema</summary>"]
9524 #[doc = r""]
9525 #[doc = r" ```json"]
9526 #[doc = "{"]
9527 #[doc = " \"type\": \"string\","]
9528 #[doc = " \"enum\": ["]
9529 #[doc = " \"EXPERIMENTAL_light_client_block_proof\""]
9530 #[doc = " ]"]
9531 #[doc = "}"]
9532 #[doc = r" ```"]
9533 #[doc = r" </details>"]
9534 #[derive(
9535 :: serde :: Deserialize,
9536 :: serde :: Serialize,
9537 Clone,
9538 Copy,
9539 Debug,
9540 Eq,
9541 Hash,
9542 Ord,
9543 PartialEq,
9544 PartialOrd,
9545 )]
9546 pub enum JsonRpcRequestForExperimentalLightClientBlockProofMethod {
9547 #[serde(rename = "EXPERIMENTAL_light_client_block_proof")]
9548 ExperimentalLightClientBlockProof,
9549 }
9550 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalLightClientBlockProofMethod {
9551 fn from(value: &JsonRpcRequestForExperimentalLightClientBlockProofMethod) -> Self {
9552 value.clone()
9553 }
9554 }
9555 impl ::std::fmt::Display for JsonRpcRequestForExperimentalLightClientBlockProofMethod {
9556 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9557 match *self {
9558 Self::ExperimentalLightClientBlockProof => {
9559 write!(f, "EXPERIMENTAL_light_client_block_proof")
9560 }
9561 }
9562 }
9563 }
9564 impl ::std::str::FromStr for JsonRpcRequestForExperimentalLightClientBlockProofMethod {
9565 type Err = self::error::ConversionError;
9566 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9567 match value {
9568 "EXPERIMENTAL_light_client_block_proof" => {
9569 Ok(Self::ExperimentalLightClientBlockProof)
9570 }
9571 _ => Err("invalid value".into()),
9572 }
9573 }
9574 }
9575 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalLightClientBlockProofMethod {
9576 type Error = self::error::ConversionError;
9577 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9578 value.parse()
9579 }
9580 }
9581 impl ::std::convert::TryFrom<&::std::string::String>
9582 for JsonRpcRequestForExperimentalLightClientBlockProofMethod
9583 {
9584 type Error = self::error::ConversionError;
9585 fn try_from(
9586 value: &::std::string::String,
9587 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9588 value.parse()
9589 }
9590 }
9591 impl ::std::convert::TryFrom<::std::string::String>
9592 for JsonRpcRequestForExperimentalLightClientBlockProofMethod
9593 {
9594 type Error = self::error::ConversionError;
9595 fn try_from(
9596 value: ::std::string::String,
9597 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9598 value.parse()
9599 }
9600 }
9601 #[doc = "`JsonRpcRequestForExperimentalLightClientProof`"]
9602 #[doc = r""]
9603 #[doc = r" <details><summary>JSON schema</summary>"]
9604 #[doc = r""]
9605 #[doc = r" ```json"]
9606 #[doc = "{"]
9607 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_light_client_proof\","]
9608 #[doc = " \"type\": \"object\","]
9609 #[doc = " \"required\": ["]
9610 #[doc = " \"id\","]
9611 #[doc = " \"jsonrpc\","]
9612 #[doc = " \"method\","]
9613 #[doc = " \"params\""]
9614 #[doc = " ],"]
9615 #[doc = " \"properties\": {"]
9616 #[doc = " \"id\": {"]
9617 #[doc = " \"type\": \"string\""]
9618 #[doc = " },"]
9619 #[doc = " \"jsonrpc\": {"]
9620 #[doc = " \"type\": \"string\""]
9621 #[doc = " },"]
9622 #[doc = " \"method\": {"]
9623 #[doc = " \"type\": \"string\","]
9624 #[doc = " \"enum\": ["]
9625 #[doc = " \"EXPERIMENTAL_light_client_proof\""]
9626 #[doc = " ]"]
9627 #[doc = " },"]
9628 #[doc = " \"params\": {"]
9629 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientExecutionProofRequest\""]
9630 #[doc = " }"]
9631 #[doc = " }"]
9632 #[doc = "}"]
9633 #[doc = r" ```"]
9634 #[doc = r" </details>"]
9635 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9636 pub struct JsonRpcRequestForExperimentalLightClientProof {
9637 pub id: ::std::string::String,
9638 pub jsonrpc: ::std::string::String,
9639 pub method: JsonRpcRequestForExperimentalLightClientProofMethod,
9640 pub params: RpcLightClientExecutionProofRequest,
9641 }
9642 impl ::std::convert::From<&JsonRpcRequestForExperimentalLightClientProof>
9643 for JsonRpcRequestForExperimentalLightClientProof
9644 {
9645 fn from(value: &JsonRpcRequestForExperimentalLightClientProof) -> Self {
9646 value.clone()
9647 }
9648 }
9649 #[doc = "`JsonRpcRequestForExperimentalLightClientProofMethod`"]
9650 #[doc = r""]
9651 #[doc = r" <details><summary>JSON schema</summary>"]
9652 #[doc = r""]
9653 #[doc = r" ```json"]
9654 #[doc = "{"]
9655 #[doc = " \"type\": \"string\","]
9656 #[doc = " \"enum\": ["]
9657 #[doc = " \"EXPERIMENTAL_light_client_proof\""]
9658 #[doc = " ]"]
9659 #[doc = "}"]
9660 #[doc = r" ```"]
9661 #[doc = r" </details>"]
9662 #[derive(
9663 :: serde :: Deserialize,
9664 :: serde :: Serialize,
9665 Clone,
9666 Copy,
9667 Debug,
9668 Eq,
9669 Hash,
9670 Ord,
9671 PartialEq,
9672 PartialOrd,
9673 )]
9674 pub enum JsonRpcRequestForExperimentalLightClientProofMethod {
9675 #[serde(rename = "EXPERIMENTAL_light_client_proof")]
9676 ExperimentalLightClientProof,
9677 }
9678 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalLightClientProofMethod {
9679 fn from(value: &JsonRpcRequestForExperimentalLightClientProofMethod) -> Self {
9680 value.clone()
9681 }
9682 }
9683 impl ::std::fmt::Display for JsonRpcRequestForExperimentalLightClientProofMethod {
9684 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9685 match *self {
9686 Self::ExperimentalLightClientProof => write!(f, "EXPERIMENTAL_light_client_proof"),
9687 }
9688 }
9689 }
9690 impl ::std::str::FromStr for JsonRpcRequestForExperimentalLightClientProofMethod {
9691 type Err = self::error::ConversionError;
9692 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9693 match value {
9694 "EXPERIMENTAL_light_client_proof" => Ok(Self::ExperimentalLightClientProof),
9695 _ => Err("invalid value".into()),
9696 }
9697 }
9698 }
9699 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalLightClientProofMethod {
9700 type Error = self::error::ConversionError;
9701 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9702 value.parse()
9703 }
9704 }
9705 impl ::std::convert::TryFrom<&::std::string::String>
9706 for JsonRpcRequestForExperimentalLightClientProofMethod
9707 {
9708 type Error = self::error::ConversionError;
9709 fn try_from(
9710 value: &::std::string::String,
9711 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9712 value.parse()
9713 }
9714 }
9715 impl ::std::convert::TryFrom<::std::string::String>
9716 for JsonRpcRequestForExperimentalLightClientProofMethod
9717 {
9718 type Error = self::error::ConversionError;
9719 fn try_from(
9720 value: ::std::string::String,
9721 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9722 value.parse()
9723 }
9724 }
9725 #[doc = "`JsonRpcRequestForExperimentalMaintenanceWindows`"]
9726 #[doc = r""]
9727 #[doc = r" <details><summary>JSON schema</summary>"]
9728 #[doc = r""]
9729 #[doc = r" ```json"]
9730 #[doc = "{"]
9731 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_maintenance_windows\","]
9732 #[doc = " \"type\": \"object\","]
9733 #[doc = " \"required\": ["]
9734 #[doc = " \"id\","]
9735 #[doc = " \"jsonrpc\","]
9736 #[doc = " \"method\","]
9737 #[doc = " \"params\""]
9738 #[doc = " ],"]
9739 #[doc = " \"properties\": {"]
9740 #[doc = " \"id\": {"]
9741 #[doc = " \"type\": \"string\""]
9742 #[doc = " },"]
9743 #[doc = " \"jsonrpc\": {"]
9744 #[doc = " \"type\": \"string\""]
9745 #[doc = " },"]
9746 #[doc = " \"method\": {"]
9747 #[doc = " \"type\": \"string\","]
9748 #[doc = " \"enum\": ["]
9749 #[doc = " \"EXPERIMENTAL_maintenance_windows\""]
9750 #[doc = " ]"]
9751 #[doc = " },"]
9752 #[doc = " \"params\": {"]
9753 #[doc = " \"$ref\": \"#/components/schemas/RpcMaintenanceWindowsRequest\""]
9754 #[doc = " }"]
9755 #[doc = " }"]
9756 #[doc = "}"]
9757 #[doc = r" ```"]
9758 #[doc = r" </details>"]
9759 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9760 pub struct JsonRpcRequestForExperimentalMaintenanceWindows {
9761 pub id: ::std::string::String,
9762 pub jsonrpc: ::std::string::String,
9763 pub method: JsonRpcRequestForExperimentalMaintenanceWindowsMethod,
9764 pub params: RpcMaintenanceWindowsRequest,
9765 }
9766 impl ::std::convert::From<&JsonRpcRequestForExperimentalMaintenanceWindows>
9767 for JsonRpcRequestForExperimentalMaintenanceWindows
9768 {
9769 fn from(value: &JsonRpcRequestForExperimentalMaintenanceWindows) -> Self {
9770 value.clone()
9771 }
9772 }
9773 #[doc = "`JsonRpcRequestForExperimentalMaintenanceWindowsMethod`"]
9774 #[doc = r""]
9775 #[doc = r" <details><summary>JSON schema</summary>"]
9776 #[doc = r""]
9777 #[doc = r" ```json"]
9778 #[doc = "{"]
9779 #[doc = " \"type\": \"string\","]
9780 #[doc = " \"enum\": ["]
9781 #[doc = " \"EXPERIMENTAL_maintenance_windows\""]
9782 #[doc = " ]"]
9783 #[doc = "}"]
9784 #[doc = r" ```"]
9785 #[doc = r" </details>"]
9786 #[derive(
9787 :: serde :: Deserialize,
9788 :: serde :: Serialize,
9789 Clone,
9790 Copy,
9791 Debug,
9792 Eq,
9793 Hash,
9794 Ord,
9795 PartialEq,
9796 PartialOrd,
9797 )]
9798 pub enum JsonRpcRequestForExperimentalMaintenanceWindowsMethod {
9799 #[serde(rename = "EXPERIMENTAL_maintenance_windows")]
9800 ExperimentalMaintenanceWindows,
9801 }
9802 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalMaintenanceWindowsMethod {
9803 fn from(value: &JsonRpcRequestForExperimentalMaintenanceWindowsMethod) -> Self {
9804 value.clone()
9805 }
9806 }
9807 impl ::std::fmt::Display for JsonRpcRequestForExperimentalMaintenanceWindowsMethod {
9808 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9809 match *self {
9810 Self::ExperimentalMaintenanceWindows => {
9811 write!(f, "EXPERIMENTAL_maintenance_windows")
9812 }
9813 }
9814 }
9815 }
9816 impl ::std::str::FromStr for JsonRpcRequestForExperimentalMaintenanceWindowsMethod {
9817 type Err = self::error::ConversionError;
9818 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9819 match value {
9820 "EXPERIMENTAL_maintenance_windows" => Ok(Self::ExperimentalMaintenanceWindows),
9821 _ => Err("invalid value".into()),
9822 }
9823 }
9824 }
9825 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalMaintenanceWindowsMethod {
9826 type Error = self::error::ConversionError;
9827 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9828 value.parse()
9829 }
9830 }
9831 impl ::std::convert::TryFrom<&::std::string::String>
9832 for JsonRpcRequestForExperimentalMaintenanceWindowsMethod
9833 {
9834 type Error = self::error::ConversionError;
9835 fn try_from(
9836 value: &::std::string::String,
9837 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9838 value.parse()
9839 }
9840 }
9841 impl ::std::convert::TryFrom<::std::string::String>
9842 for JsonRpcRequestForExperimentalMaintenanceWindowsMethod
9843 {
9844 type Error = self::error::ConversionError;
9845 fn try_from(
9846 value: ::std::string::String,
9847 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9848 value.parse()
9849 }
9850 }
9851 #[doc = "`JsonRpcRequestForExperimentalProtocolConfig`"]
9852 #[doc = r""]
9853 #[doc = r" <details><summary>JSON schema</summary>"]
9854 #[doc = r""]
9855 #[doc = r" ```json"]
9856 #[doc = "{"]
9857 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_protocol_config\","]
9858 #[doc = " \"type\": \"object\","]
9859 #[doc = " \"required\": ["]
9860 #[doc = " \"id\","]
9861 #[doc = " \"jsonrpc\","]
9862 #[doc = " \"method\","]
9863 #[doc = " \"params\""]
9864 #[doc = " ],"]
9865 #[doc = " \"properties\": {"]
9866 #[doc = " \"id\": {"]
9867 #[doc = " \"type\": \"string\""]
9868 #[doc = " },"]
9869 #[doc = " \"jsonrpc\": {"]
9870 #[doc = " \"type\": \"string\""]
9871 #[doc = " },"]
9872 #[doc = " \"method\": {"]
9873 #[doc = " \"type\": \"string\","]
9874 #[doc = " \"enum\": ["]
9875 #[doc = " \"EXPERIMENTAL_protocol_config\""]
9876 #[doc = " ]"]
9877 #[doc = " },"]
9878 #[doc = " \"params\": {"]
9879 #[doc = " \"$ref\": \"#/components/schemas/RpcProtocolConfigRequest\""]
9880 #[doc = " }"]
9881 #[doc = " }"]
9882 #[doc = "}"]
9883 #[doc = r" ```"]
9884 #[doc = r" </details>"]
9885 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
9886 pub struct JsonRpcRequestForExperimentalProtocolConfig {
9887 pub id: ::std::string::String,
9888 pub jsonrpc: ::std::string::String,
9889 pub method: JsonRpcRequestForExperimentalProtocolConfigMethod,
9890 pub params: RpcProtocolConfigRequest,
9891 }
9892 impl ::std::convert::From<&JsonRpcRequestForExperimentalProtocolConfig>
9893 for JsonRpcRequestForExperimentalProtocolConfig
9894 {
9895 fn from(value: &JsonRpcRequestForExperimentalProtocolConfig) -> Self {
9896 value.clone()
9897 }
9898 }
9899 #[doc = "`JsonRpcRequestForExperimentalProtocolConfigMethod`"]
9900 #[doc = r""]
9901 #[doc = r" <details><summary>JSON schema</summary>"]
9902 #[doc = r""]
9903 #[doc = r" ```json"]
9904 #[doc = "{"]
9905 #[doc = " \"type\": \"string\","]
9906 #[doc = " \"enum\": ["]
9907 #[doc = " \"EXPERIMENTAL_protocol_config\""]
9908 #[doc = " ]"]
9909 #[doc = "}"]
9910 #[doc = r" ```"]
9911 #[doc = r" </details>"]
9912 #[derive(
9913 :: serde :: Deserialize,
9914 :: serde :: Serialize,
9915 Clone,
9916 Copy,
9917 Debug,
9918 Eq,
9919 Hash,
9920 Ord,
9921 PartialEq,
9922 PartialOrd,
9923 )]
9924 pub enum JsonRpcRequestForExperimentalProtocolConfigMethod {
9925 #[serde(rename = "EXPERIMENTAL_protocol_config")]
9926 ExperimentalProtocolConfig,
9927 }
9928 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalProtocolConfigMethod {
9929 fn from(value: &JsonRpcRequestForExperimentalProtocolConfigMethod) -> Self {
9930 value.clone()
9931 }
9932 }
9933 impl ::std::fmt::Display for JsonRpcRequestForExperimentalProtocolConfigMethod {
9934 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9935 match *self {
9936 Self::ExperimentalProtocolConfig => write!(f, "EXPERIMENTAL_protocol_config"),
9937 }
9938 }
9939 }
9940 impl ::std::str::FromStr for JsonRpcRequestForExperimentalProtocolConfigMethod {
9941 type Err = self::error::ConversionError;
9942 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9943 match value {
9944 "EXPERIMENTAL_protocol_config" => Ok(Self::ExperimentalProtocolConfig),
9945 _ => Err("invalid value".into()),
9946 }
9947 }
9948 }
9949 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalProtocolConfigMethod {
9950 type Error = self::error::ConversionError;
9951 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
9952 value.parse()
9953 }
9954 }
9955 impl ::std::convert::TryFrom<&::std::string::String>
9956 for JsonRpcRequestForExperimentalProtocolConfigMethod
9957 {
9958 type Error = self::error::ConversionError;
9959 fn try_from(
9960 value: &::std::string::String,
9961 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9962 value.parse()
9963 }
9964 }
9965 impl ::std::convert::TryFrom<::std::string::String>
9966 for JsonRpcRequestForExperimentalProtocolConfigMethod
9967 {
9968 type Error = self::error::ConversionError;
9969 fn try_from(
9970 value: ::std::string::String,
9971 ) -> ::std::result::Result<Self, self::error::ConversionError> {
9972 value.parse()
9973 }
9974 }
9975 #[doc = "`JsonRpcRequestForExperimentalReceipt`"]
9976 #[doc = r""]
9977 #[doc = r" <details><summary>JSON schema</summary>"]
9978 #[doc = r""]
9979 #[doc = r" ```json"]
9980 #[doc = "{"]
9981 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_receipt\","]
9982 #[doc = " \"type\": \"object\","]
9983 #[doc = " \"required\": ["]
9984 #[doc = " \"id\","]
9985 #[doc = " \"jsonrpc\","]
9986 #[doc = " \"method\","]
9987 #[doc = " \"params\""]
9988 #[doc = " ],"]
9989 #[doc = " \"properties\": {"]
9990 #[doc = " \"id\": {"]
9991 #[doc = " \"type\": \"string\""]
9992 #[doc = " },"]
9993 #[doc = " \"jsonrpc\": {"]
9994 #[doc = " \"type\": \"string\""]
9995 #[doc = " },"]
9996 #[doc = " \"method\": {"]
9997 #[doc = " \"type\": \"string\","]
9998 #[doc = " \"enum\": ["]
9999 #[doc = " \"EXPERIMENTAL_receipt\""]
10000 #[doc = " ]"]
10001 #[doc = " },"]
10002 #[doc = " \"params\": {"]
10003 #[doc = " \"$ref\": \"#/components/schemas/RpcReceiptRequest\""]
10004 #[doc = " }"]
10005 #[doc = " }"]
10006 #[doc = "}"]
10007 #[doc = r" ```"]
10008 #[doc = r" </details>"]
10009 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10010 pub struct JsonRpcRequestForExperimentalReceipt {
10011 pub id: ::std::string::String,
10012 pub jsonrpc: ::std::string::String,
10013 pub method: JsonRpcRequestForExperimentalReceiptMethod,
10014 pub params: RpcReceiptRequest,
10015 }
10016 impl ::std::convert::From<&JsonRpcRequestForExperimentalReceipt>
10017 for JsonRpcRequestForExperimentalReceipt
10018 {
10019 fn from(value: &JsonRpcRequestForExperimentalReceipt) -> Self {
10020 value.clone()
10021 }
10022 }
10023 #[doc = "`JsonRpcRequestForExperimentalReceiptMethod`"]
10024 #[doc = r""]
10025 #[doc = r" <details><summary>JSON schema</summary>"]
10026 #[doc = r""]
10027 #[doc = r" ```json"]
10028 #[doc = "{"]
10029 #[doc = " \"type\": \"string\","]
10030 #[doc = " \"enum\": ["]
10031 #[doc = " \"EXPERIMENTAL_receipt\""]
10032 #[doc = " ]"]
10033 #[doc = "}"]
10034 #[doc = r" ```"]
10035 #[doc = r" </details>"]
10036 #[derive(
10037 :: serde :: Deserialize,
10038 :: serde :: Serialize,
10039 Clone,
10040 Copy,
10041 Debug,
10042 Eq,
10043 Hash,
10044 Ord,
10045 PartialEq,
10046 PartialOrd,
10047 )]
10048 pub enum JsonRpcRequestForExperimentalReceiptMethod {
10049 #[serde(rename = "EXPERIMENTAL_receipt")]
10050 ExperimentalReceipt,
10051 }
10052 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalReceiptMethod {
10053 fn from(value: &JsonRpcRequestForExperimentalReceiptMethod) -> Self {
10054 value.clone()
10055 }
10056 }
10057 impl ::std::fmt::Display for JsonRpcRequestForExperimentalReceiptMethod {
10058 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10059 match *self {
10060 Self::ExperimentalReceipt => write!(f, "EXPERIMENTAL_receipt"),
10061 }
10062 }
10063 }
10064 impl ::std::str::FromStr for JsonRpcRequestForExperimentalReceiptMethod {
10065 type Err = self::error::ConversionError;
10066 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10067 match value {
10068 "EXPERIMENTAL_receipt" => Ok(Self::ExperimentalReceipt),
10069 _ => Err("invalid value".into()),
10070 }
10071 }
10072 }
10073 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalReceiptMethod {
10074 type Error = self::error::ConversionError;
10075 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10076 value.parse()
10077 }
10078 }
10079 impl ::std::convert::TryFrom<&::std::string::String>
10080 for JsonRpcRequestForExperimentalReceiptMethod
10081 {
10082 type Error = self::error::ConversionError;
10083 fn try_from(
10084 value: &::std::string::String,
10085 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10086 value.parse()
10087 }
10088 }
10089 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForExperimentalReceiptMethod {
10090 type Error = self::error::ConversionError;
10091 fn try_from(
10092 value: ::std::string::String,
10093 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10094 value.parse()
10095 }
10096 }
10097 #[doc = "`JsonRpcRequestForExperimentalSplitStorageInfo`"]
10098 #[doc = r""]
10099 #[doc = r" <details><summary>JSON schema</summary>"]
10100 #[doc = r""]
10101 #[doc = r" ```json"]
10102 #[doc = "{"]
10103 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_split_storage_info\","]
10104 #[doc = " \"type\": \"object\","]
10105 #[doc = " \"required\": ["]
10106 #[doc = " \"id\","]
10107 #[doc = " \"jsonrpc\","]
10108 #[doc = " \"method\","]
10109 #[doc = " \"params\""]
10110 #[doc = " ],"]
10111 #[doc = " \"properties\": {"]
10112 #[doc = " \"id\": {"]
10113 #[doc = " \"type\": \"string\""]
10114 #[doc = " },"]
10115 #[doc = " \"jsonrpc\": {"]
10116 #[doc = " \"type\": \"string\""]
10117 #[doc = " },"]
10118 #[doc = " \"method\": {"]
10119 #[doc = " \"type\": \"string\","]
10120 #[doc = " \"enum\": ["]
10121 #[doc = " \"EXPERIMENTAL_split_storage_info\""]
10122 #[doc = " ]"]
10123 #[doc = " },"]
10124 #[doc = " \"params\": {"]
10125 #[doc = " \"$ref\": \"#/components/schemas/RpcSplitStorageInfoRequest\""]
10126 #[doc = " }"]
10127 #[doc = " }"]
10128 #[doc = "}"]
10129 #[doc = r" ```"]
10130 #[doc = r" </details>"]
10131 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10132 pub struct JsonRpcRequestForExperimentalSplitStorageInfo {
10133 pub id: ::std::string::String,
10134 pub jsonrpc: ::std::string::String,
10135 pub method: JsonRpcRequestForExperimentalSplitStorageInfoMethod,
10136 pub params: RpcSplitStorageInfoRequest,
10137 }
10138 impl ::std::convert::From<&JsonRpcRequestForExperimentalSplitStorageInfo>
10139 for JsonRpcRequestForExperimentalSplitStorageInfo
10140 {
10141 fn from(value: &JsonRpcRequestForExperimentalSplitStorageInfo) -> Self {
10142 value.clone()
10143 }
10144 }
10145 #[doc = "`JsonRpcRequestForExperimentalSplitStorageInfoMethod`"]
10146 #[doc = r""]
10147 #[doc = r" <details><summary>JSON schema</summary>"]
10148 #[doc = r""]
10149 #[doc = r" ```json"]
10150 #[doc = "{"]
10151 #[doc = " \"type\": \"string\","]
10152 #[doc = " \"enum\": ["]
10153 #[doc = " \"EXPERIMENTAL_split_storage_info\""]
10154 #[doc = " ]"]
10155 #[doc = "}"]
10156 #[doc = r" ```"]
10157 #[doc = r" </details>"]
10158 #[derive(
10159 :: serde :: Deserialize,
10160 :: serde :: Serialize,
10161 Clone,
10162 Copy,
10163 Debug,
10164 Eq,
10165 Hash,
10166 Ord,
10167 PartialEq,
10168 PartialOrd,
10169 )]
10170 pub enum JsonRpcRequestForExperimentalSplitStorageInfoMethod {
10171 #[serde(rename = "EXPERIMENTAL_split_storage_info")]
10172 ExperimentalSplitStorageInfo,
10173 }
10174 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalSplitStorageInfoMethod {
10175 fn from(value: &JsonRpcRequestForExperimentalSplitStorageInfoMethod) -> Self {
10176 value.clone()
10177 }
10178 }
10179 impl ::std::fmt::Display for JsonRpcRequestForExperimentalSplitStorageInfoMethod {
10180 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10181 match *self {
10182 Self::ExperimentalSplitStorageInfo => write!(f, "EXPERIMENTAL_split_storage_info"),
10183 }
10184 }
10185 }
10186 impl ::std::str::FromStr for JsonRpcRequestForExperimentalSplitStorageInfoMethod {
10187 type Err = self::error::ConversionError;
10188 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10189 match value {
10190 "EXPERIMENTAL_split_storage_info" => Ok(Self::ExperimentalSplitStorageInfo),
10191 _ => Err("invalid value".into()),
10192 }
10193 }
10194 }
10195 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalSplitStorageInfoMethod {
10196 type Error = self::error::ConversionError;
10197 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10198 value.parse()
10199 }
10200 }
10201 impl ::std::convert::TryFrom<&::std::string::String>
10202 for JsonRpcRequestForExperimentalSplitStorageInfoMethod
10203 {
10204 type Error = self::error::ConversionError;
10205 fn try_from(
10206 value: &::std::string::String,
10207 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10208 value.parse()
10209 }
10210 }
10211 impl ::std::convert::TryFrom<::std::string::String>
10212 for JsonRpcRequestForExperimentalSplitStorageInfoMethod
10213 {
10214 type Error = self::error::ConversionError;
10215 fn try_from(
10216 value: ::std::string::String,
10217 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10218 value.parse()
10219 }
10220 }
10221 #[doc = "`JsonRpcRequestForExperimentalTxStatus`"]
10222 #[doc = r""]
10223 #[doc = r" <details><summary>JSON schema</summary>"]
10224 #[doc = r""]
10225 #[doc = r" ```json"]
10226 #[doc = "{"]
10227 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_tx_status\","]
10228 #[doc = " \"type\": \"object\","]
10229 #[doc = " \"required\": ["]
10230 #[doc = " \"id\","]
10231 #[doc = " \"jsonrpc\","]
10232 #[doc = " \"method\","]
10233 #[doc = " \"params\""]
10234 #[doc = " ],"]
10235 #[doc = " \"properties\": {"]
10236 #[doc = " \"id\": {"]
10237 #[doc = " \"type\": \"string\""]
10238 #[doc = " },"]
10239 #[doc = " \"jsonrpc\": {"]
10240 #[doc = " \"type\": \"string\""]
10241 #[doc = " },"]
10242 #[doc = " \"method\": {"]
10243 #[doc = " \"type\": \"string\","]
10244 #[doc = " \"enum\": ["]
10245 #[doc = " \"EXPERIMENTAL_tx_status\""]
10246 #[doc = " ]"]
10247 #[doc = " },"]
10248 #[doc = " \"params\": {"]
10249 #[doc = " \"$ref\": \"#/components/schemas/RpcTransactionStatusRequest\""]
10250 #[doc = " }"]
10251 #[doc = " }"]
10252 #[doc = "}"]
10253 #[doc = r" ```"]
10254 #[doc = r" </details>"]
10255 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10256 pub struct JsonRpcRequestForExperimentalTxStatus {
10257 pub id: ::std::string::String,
10258 pub jsonrpc: ::std::string::String,
10259 pub method: JsonRpcRequestForExperimentalTxStatusMethod,
10260 pub params: RpcTransactionStatusRequest,
10261 }
10262 impl ::std::convert::From<&JsonRpcRequestForExperimentalTxStatus>
10263 for JsonRpcRequestForExperimentalTxStatus
10264 {
10265 fn from(value: &JsonRpcRequestForExperimentalTxStatus) -> Self {
10266 value.clone()
10267 }
10268 }
10269 #[doc = "`JsonRpcRequestForExperimentalTxStatusMethod`"]
10270 #[doc = r""]
10271 #[doc = r" <details><summary>JSON schema</summary>"]
10272 #[doc = r""]
10273 #[doc = r" ```json"]
10274 #[doc = "{"]
10275 #[doc = " \"type\": \"string\","]
10276 #[doc = " \"enum\": ["]
10277 #[doc = " \"EXPERIMENTAL_tx_status\""]
10278 #[doc = " ]"]
10279 #[doc = "}"]
10280 #[doc = r" ```"]
10281 #[doc = r" </details>"]
10282 #[derive(
10283 :: serde :: Deserialize,
10284 :: serde :: Serialize,
10285 Clone,
10286 Copy,
10287 Debug,
10288 Eq,
10289 Hash,
10290 Ord,
10291 PartialEq,
10292 PartialOrd,
10293 )]
10294 pub enum JsonRpcRequestForExperimentalTxStatusMethod {
10295 #[serde(rename = "EXPERIMENTAL_tx_status")]
10296 ExperimentalTxStatus,
10297 }
10298 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalTxStatusMethod {
10299 fn from(value: &JsonRpcRequestForExperimentalTxStatusMethod) -> Self {
10300 value.clone()
10301 }
10302 }
10303 impl ::std::fmt::Display for JsonRpcRequestForExperimentalTxStatusMethod {
10304 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10305 match *self {
10306 Self::ExperimentalTxStatus => write!(f, "EXPERIMENTAL_tx_status"),
10307 }
10308 }
10309 }
10310 impl ::std::str::FromStr for JsonRpcRequestForExperimentalTxStatusMethod {
10311 type Err = self::error::ConversionError;
10312 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10313 match value {
10314 "EXPERIMENTAL_tx_status" => Ok(Self::ExperimentalTxStatus),
10315 _ => Err("invalid value".into()),
10316 }
10317 }
10318 }
10319 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalTxStatusMethod {
10320 type Error = self::error::ConversionError;
10321 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10322 value.parse()
10323 }
10324 }
10325 impl ::std::convert::TryFrom<&::std::string::String>
10326 for JsonRpcRequestForExperimentalTxStatusMethod
10327 {
10328 type Error = self::error::ConversionError;
10329 fn try_from(
10330 value: &::std::string::String,
10331 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10332 value.parse()
10333 }
10334 }
10335 impl ::std::convert::TryFrom<::std::string::String>
10336 for JsonRpcRequestForExperimentalTxStatusMethod
10337 {
10338 type Error = self::error::ConversionError;
10339 fn try_from(
10340 value: ::std::string::String,
10341 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10342 value.parse()
10343 }
10344 }
10345 #[doc = "`JsonRpcRequestForExperimentalValidatorsOrdered`"]
10346 #[doc = r""]
10347 #[doc = r" <details><summary>JSON schema</summary>"]
10348 #[doc = r""]
10349 #[doc = r" ```json"]
10350 #[doc = "{"]
10351 #[doc = " \"title\": \"JsonRpcRequest_for_EXPERIMENTAL_validators_ordered\","]
10352 #[doc = " \"type\": \"object\","]
10353 #[doc = " \"required\": ["]
10354 #[doc = " \"id\","]
10355 #[doc = " \"jsonrpc\","]
10356 #[doc = " \"method\","]
10357 #[doc = " \"params\""]
10358 #[doc = " ],"]
10359 #[doc = " \"properties\": {"]
10360 #[doc = " \"id\": {"]
10361 #[doc = " \"type\": \"string\""]
10362 #[doc = " },"]
10363 #[doc = " \"jsonrpc\": {"]
10364 #[doc = " \"type\": \"string\""]
10365 #[doc = " },"]
10366 #[doc = " \"method\": {"]
10367 #[doc = " \"type\": \"string\","]
10368 #[doc = " \"enum\": ["]
10369 #[doc = " \"EXPERIMENTAL_validators_ordered\""]
10370 #[doc = " ]"]
10371 #[doc = " },"]
10372 #[doc = " \"params\": {"]
10373 #[doc = " \"$ref\": \"#/components/schemas/RpcValidatorsOrderedRequest\""]
10374 #[doc = " }"]
10375 #[doc = " }"]
10376 #[doc = "}"]
10377 #[doc = r" ```"]
10378 #[doc = r" </details>"]
10379 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10380 pub struct JsonRpcRequestForExperimentalValidatorsOrdered {
10381 pub id: ::std::string::String,
10382 pub jsonrpc: ::std::string::String,
10383 pub method: JsonRpcRequestForExperimentalValidatorsOrderedMethod,
10384 pub params: RpcValidatorsOrderedRequest,
10385 }
10386 impl ::std::convert::From<&JsonRpcRequestForExperimentalValidatorsOrdered>
10387 for JsonRpcRequestForExperimentalValidatorsOrdered
10388 {
10389 fn from(value: &JsonRpcRequestForExperimentalValidatorsOrdered) -> Self {
10390 value.clone()
10391 }
10392 }
10393 #[doc = "`JsonRpcRequestForExperimentalValidatorsOrderedMethod`"]
10394 #[doc = r""]
10395 #[doc = r" <details><summary>JSON schema</summary>"]
10396 #[doc = r""]
10397 #[doc = r" ```json"]
10398 #[doc = "{"]
10399 #[doc = " \"type\": \"string\","]
10400 #[doc = " \"enum\": ["]
10401 #[doc = " \"EXPERIMENTAL_validators_ordered\""]
10402 #[doc = " ]"]
10403 #[doc = "}"]
10404 #[doc = r" ```"]
10405 #[doc = r" </details>"]
10406 #[derive(
10407 :: serde :: Deserialize,
10408 :: serde :: Serialize,
10409 Clone,
10410 Copy,
10411 Debug,
10412 Eq,
10413 Hash,
10414 Ord,
10415 PartialEq,
10416 PartialOrd,
10417 )]
10418 pub enum JsonRpcRequestForExperimentalValidatorsOrderedMethod {
10419 #[serde(rename = "EXPERIMENTAL_validators_ordered")]
10420 ExperimentalValidatorsOrdered,
10421 }
10422 impl ::std::convert::From<&Self> for JsonRpcRequestForExperimentalValidatorsOrderedMethod {
10423 fn from(value: &JsonRpcRequestForExperimentalValidatorsOrderedMethod) -> Self {
10424 value.clone()
10425 }
10426 }
10427 impl ::std::fmt::Display for JsonRpcRequestForExperimentalValidatorsOrderedMethod {
10428 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10429 match *self {
10430 Self::ExperimentalValidatorsOrdered => write!(f, "EXPERIMENTAL_validators_ordered"),
10431 }
10432 }
10433 }
10434 impl ::std::str::FromStr for JsonRpcRequestForExperimentalValidatorsOrderedMethod {
10435 type Err = self::error::ConversionError;
10436 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10437 match value {
10438 "EXPERIMENTAL_validators_ordered" => Ok(Self::ExperimentalValidatorsOrdered),
10439 _ => Err("invalid value".into()),
10440 }
10441 }
10442 }
10443 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForExperimentalValidatorsOrderedMethod {
10444 type Error = self::error::ConversionError;
10445 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10446 value.parse()
10447 }
10448 }
10449 impl ::std::convert::TryFrom<&::std::string::String>
10450 for JsonRpcRequestForExperimentalValidatorsOrderedMethod
10451 {
10452 type Error = self::error::ConversionError;
10453 fn try_from(
10454 value: &::std::string::String,
10455 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10456 value.parse()
10457 }
10458 }
10459 impl ::std::convert::TryFrom<::std::string::String>
10460 for JsonRpcRequestForExperimentalValidatorsOrderedMethod
10461 {
10462 type Error = self::error::ConversionError;
10463 fn try_from(
10464 value: ::std::string::String,
10465 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10466 value.parse()
10467 }
10468 }
10469 #[doc = "`JsonRpcRequestForGasPrice`"]
10470 #[doc = r""]
10471 #[doc = r" <details><summary>JSON schema</summary>"]
10472 #[doc = r""]
10473 #[doc = r" ```json"]
10474 #[doc = "{"]
10475 #[doc = " \"title\": \"JsonRpcRequest_for_gas_price\","]
10476 #[doc = " \"type\": \"object\","]
10477 #[doc = " \"required\": ["]
10478 #[doc = " \"id\","]
10479 #[doc = " \"jsonrpc\","]
10480 #[doc = " \"method\","]
10481 #[doc = " \"params\""]
10482 #[doc = " ],"]
10483 #[doc = " \"properties\": {"]
10484 #[doc = " \"id\": {"]
10485 #[doc = " \"type\": \"string\""]
10486 #[doc = " },"]
10487 #[doc = " \"jsonrpc\": {"]
10488 #[doc = " \"type\": \"string\""]
10489 #[doc = " },"]
10490 #[doc = " \"method\": {"]
10491 #[doc = " \"type\": \"string\","]
10492 #[doc = " \"enum\": ["]
10493 #[doc = " \"gas_price\""]
10494 #[doc = " ]"]
10495 #[doc = " },"]
10496 #[doc = " \"params\": {"]
10497 #[doc = " \"$ref\": \"#/components/schemas/RpcGasPriceRequest\""]
10498 #[doc = " }"]
10499 #[doc = " }"]
10500 #[doc = "}"]
10501 #[doc = r" ```"]
10502 #[doc = r" </details>"]
10503 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10504 pub struct JsonRpcRequestForGasPrice {
10505 pub id: ::std::string::String,
10506 pub jsonrpc: ::std::string::String,
10507 pub method: JsonRpcRequestForGasPriceMethod,
10508 pub params: RpcGasPriceRequest,
10509 }
10510 impl ::std::convert::From<&JsonRpcRequestForGasPrice> for JsonRpcRequestForGasPrice {
10511 fn from(value: &JsonRpcRequestForGasPrice) -> Self {
10512 value.clone()
10513 }
10514 }
10515 #[doc = "`JsonRpcRequestForGasPriceMethod`"]
10516 #[doc = r""]
10517 #[doc = r" <details><summary>JSON schema</summary>"]
10518 #[doc = r""]
10519 #[doc = r" ```json"]
10520 #[doc = "{"]
10521 #[doc = " \"type\": \"string\","]
10522 #[doc = " \"enum\": ["]
10523 #[doc = " \"gas_price\""]
10524 #[doc = " ]"]
10525 #[doc = "}"]
10526 #[doc = r" ```"]
10527 #[doc = r" </details>"]
10528 #[derive(
10529 :: serde :: Deserialize,
10530 :: serde :: Serialize,
10531 Clone,
10532 Copy,
10533 Debug,
10534 Eq,
10535 Hash,
10536 Ord,
10537 PartialEq,
10538 PartialOrd,
10539 )]
10540 pub enum JsonRpcRequestForGasPriceMethod {
10541 #[serde(rename = "gas_price")]
10542 GasPrice,
10543 }
10544 impl ::std::convert::From<&Self> for JsonRpcRequestForGasPriceMethod {
10545 fn from(value: &JsonRpcRequestForGasPriceMethod) -> Self {
10546 value.clone()
10547 }
10548 }
10549 impl ::std::fmt::Display for JsonRpcRequestForGasPriceMethod {
10550 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10551 match *self {
10552 Self::GasPrice => write!(f, "gas_price"),
10553 }
10554 }
10555 }
10556 impl ::std::str::FromStr for JsonRpcRequestForGasPriceMethod {
10557 type Err = self::error::ConversionError;
10558 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10559 match value {
10560 "gas_price" => Ok(Self::GasPrice),
10561 _ => Err("invalid value".into()),
10562 }
10563 }
10564 }
10565 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForGasPriceMethod {
10566 type Error = self::error::ConversionError;
10567 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10568 value.parse()
10569 }
10570 }
10571 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForGasPriceMethod {
10572 type Error = self::error::ConversionError;
10573 fn try_from(
10574 value: &::std::string::String,
10575 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10576 value.parse()
10577 }
10578 }
10579 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForGasPriceMethod {
10580 type Error = self::error::ConversionError;
10581 fn try_from(
10582 value: ::std::string::String,
10583 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10584 value.parse()
10585 }
10586 }
10587 #[doc = "`JsonRpcRequestForHealth`"]
10588 #[doc = r""]
10589 #[doc = r" <details><summary>JSON schema</summary>"]
10590 #[doc = r""]
10591 #[doc = r" ```json"]
10592 #[doc = "{"]
10593 #[doc = " \"title\": \"JsonRpcRequest_for_health\","]
10594 #[doc = " \"type\": \"object\","]
10595 #[doc = " \"required\": ["]
10596 #[doc = " \"id\","]
10597 #[doc = " \"jsonrpc\","]
10598 #[doc = " \"method\","]
10599 #[doc = " \"params\""]
10600 #[doc = " ],"]
10601 #[doc = " \"properties\": {"]
10602 #[doc = " \"id\": {"]
10603 #[doc = " \"type\": \"string\""]
10604 #[doc = " },"]
10605 #[doc = " \"jsonrpc\": {"]
10606 #[doc = " \"type\": \"string\""]
10607 #[doc = " },"]
10608 #[doc = " \"method\": {"]
10609 #[doc = " \"type\": \"string\","]
10610 #[doc = " \"enum\": ["]
10611 #[doc = " \"health\""]
10612 #[doc = " ]"]
10613 #[doc = " },"]
10614 #[doc = " \"params\": {"]
10615 #[doc = " \"$ref\": \"#/components/schemas/RpcHealthRequest\""]
10616 #[doc = " }"]
10617 #[doc = " }"]
10618 #[doc = "}"]
10619 #[doc = r" ```"]
10620 #[doc = r" </details>"]
10621 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10622 pub struct JsonRpcRequestForHealth {
10623 pub id: ::std::string::String,
10624 pub jsonrpc: ::std::string::String,
10625 pub method: JsonRpcRequestForHealthMethod,
10626 pub params: RpcHealthRequest,
10627 }
10628 impl ::std::convert::From<&JsonRpcRequestForHealth> for JsonRpcRequestForHealth {
10629 fn from(value: &JsonRpcRequestForHealth) -> Self {
10630 value.clone()
10631 }
10632 }
10633 #[doc = "`JsonRpcRequestForHealthMethod`"]
10634 #[doc = r""]
10635 #[doc = r" <details><summary>JSON schema</summary>"]
10636 #[doc = r""]
10637 #[doc = r" ```json"]
10638 #[doc = "{"]
10639 #[doc = " \"type\": \"string\","]
10640 #[doc = " \"enum\": ["]
10641 #[doc = " \"health\""]
10642 #[doc = " ]"]
10643 #[doc = "}"]
10644 #[doc = r" ```"]
10645 #[doc = r" </details>"]
10646 #[derive(
10647 :: serde :: Deserialize,
10648 :: serde :: Serialize,
10649 Clone,
10650 Copy,
10651 Debug,
10652 Eq,
10653 Hash,
10654 Ord,
10655 PartialEq,
10656 PartialOrd,
10657 )]
10658 pub enum JsonRpcRequestForHealthMethod {
10659 #[serde(rename = "health")]
10660 Health,
10661 }
10662 impl ::std::convert::From<&Self> for JsonRpcRequestForHealthMethod {
10663 fn from(value: &JsonRpcRequestForHealthMethod) -> Self {
10664 value.clone()
10665 }
10666 }
10667 impl ::std::fmt::Display for JsonRpcRequestForHealthMethod {
10668 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10669 match *self {
10670 Self::Health => write!(f, "health"),
10671 }
10672 }
10673 }
10674 impl ::std::str::FromStr for JsonRpcRequestForHealthMethod {
10675 type Err = self::error::ConversionError;
10676 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10677 match value {
10678 "health" => Ok(Self::Health),
10679 _ => Err("invalid value".into()),
10680 }
10681 }
10682 }
10683 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForHealthMethod {
10684 type Error = self::error::ConversionError;
10685 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10686 value.parse()
10687 }
10688 }
10689 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForHealthMethod {
10690 type Error = self::error::ConversionError;
10691 fn try_from(
10692 value: &::std::string::String,
10693 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10694 value.parse()
10695 }
10696 }
10697 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForHealthMethod {
10698 type Error = self::error::ConversionError;
10699 fn try_from(
10700 value: ::std::string::String,
10701 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10702 value.parse()
10703 }
10704 }
10705 #[doc = "`JsonRpcRequestForLightClientProof`"]
10706 #[doc = r""]
10707 #[doc = r" <details><summary>JSON schema</summary>"]
10708 #[doc = r""]
10709 #[doc = r" ```json"]
10710 #[doc = "{"]
10711 #[doc = " \"title\": \"JsonRpcRequest_for_light_client_proof\","]
10712 #[doc = " \"type\": \"object\","]
10713 #[doc = " \"required\": ["]
10714 #[doc = " \"id\","]
10715 #[doc = " \"jsonrpc\","]
10716 #[doc = " \"method\","]
10717 #[doc = " \"params\""]
10718 #[doc = " ],"]
10719 #[doc = " \"properties\": {"]
10720 #[doc = " \"id\": {"]
10721 #[doc = " \"type\": \"string\""]
10722 #[doc = " },"]
10723 #[doc = " \"jsonrpc\": {"]
10724 #[doc = " \"type\": \"string\""]
10725 #[doc = " },"]
10726 #[doc = " \"method\": {"]
10727 #[doc = " \"type\": \"string\","]
10728 #[doc = " \"enum\": ["]
10729 #[doc = " \"light_client_proof\""]
10730 #[doc = " ]"]
10731 #[doc = " },"]
10732 #[doc = " \"params\": {"]
10733 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientExecutionProofRequest\""]
10734 #[doc = " }"]
10735 #[doc = " }"]
10736 #[doc = "}"]
10737 #[doc = r" ```"]
10738 #[doc = r" </details>"]
10739 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10740 pub struct JsonRpcRequestForLightClientProof {
10741 pub id: ::std::string::String,
10742 pub jsonrpc: ::std::string::String,
10743 pub method: JsonRpcRequestForLightClientProofMethod,
10744 pub params: RpcLightClientExecutionProofRequest,
10745 }
10746 impl ::std::convert::From<&JsonRpcRequestForLightClientProof>
10747 for JsonRpcRequestForLightClientProof
10748 {
10749 fn from(value: &JsonRpcRequestForLightClientProof) -> Self {
10750 value.clone()
10751 }
10752 }
10753 #[doc = "`JsonRpcRequestForLightClientProofMethod`"]
10754 #[doc = r""]
10755 #[doc = r" <details><summary>JSON schema</summary>"]
10756 #[doc = r""]
10757 #[doc = r" ```json"]
10758 #[doc = "{"]
10759 #[doc = " \"type\": \"string\","]
10760 #[doc = " \"enum\": ["]
10761 #[doc = " \"light_client_proof\""]
10762 #[doc = " ]"]
10763 #[doc = "}"]
10764 #[doc = r" ```"]
10765 #[doc = r" </details>"]
10766 #[derive(
10767 :: serde :: Deserialize,
10768 :: serde :: Serialize,
10769 Clone,
10770 Copy,
10771 Debug,
10772 Eq,
10773 Hash,
10774 Ord,
10775 PartialEq,
10776 PartialOrd,
10777 )]
10778 pub enum JsonRpcRequestForLightClientProofMethod {
10779 #[serde(rename = "light_client_proof")]
10780 LightClientProof,
10781 }
10782 impl ::std::convert::From<&Self> for JsonRpcRequestForLightClientProofMethod {
10783 fn from(value: &JsonRpcRequestForLightClientProofMethod) -> Self {
10784 value.clone()
10785 }
10786 }
10787 impl ::std::fmt::Display for JsonRpcRequestForLightClientProofMethod {
10788 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10789 match *self {
10790 Self::LightClientProof => write!(f, "light_client_proof"),
10791 }
10792 }
10793 }
10794 impl ::std::str::FromStr for JsonRpcRequestForLightClientProofMethod {
10795 type Err = self::error::ConversionError;
10796 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10797 match value {
10798 "light_client_proof" => Ok(Self::LightClientProof),
10799 _ => Err("invalid value".into()),
10800 }
10801 }
10802 }
10803 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForLightClientProofMethod {
10804 type Error = self::error::ConversionError;
10805 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10806 value.parse()
10807 }
10808 }
10809 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForLightClientProofMethod {
10810 type Error = self::error::ConversionError;
10811 fn try_from(
10812 value: &::std::string::String,
10813 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10814 value.parse()
10815 }
10816 }
10817 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForLightClientProofMethod {
10818 type Error = self::error::ConversionError;
10819 fn try_from(
10820 value: ::std::string::String,
10821 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10822 value.parse()
10823 }
10824 }
10825 #[doc = "`JsonRpcRequestForNetworkInfo`"]
10826 #[doc = r""]
10827 #[doc = r" <details><summary>JSON schema</summary>"]
10828 #[doc = r""]
10829 #[doc = r" ```json"]
10830 #[doc = "{"]
10831 #[doc = " \"title\": \"JsonRpcRequest_for_network_info\","]
10832 #[doc = " \"type\": \"object\","]
10833 #[doc = " \"required\": ["]
10834 #[doc = " \"id\","]
10835 #[doc = " \"jsonrpc\","]
10836 #[doc = " \"method\","]
10837 #[doc = " \"params\""]
10838 #[doc = " ],"]
10839 #[doc = " \"properties\": {"]
10840 #[doc = " \"id\": {"]
10841 #[doc = " \"type\": \"string\""]
10842 #[doc = " },"]
10843 #[doc = " \"jsonrpc\": {"]
10844 #[doc = " \"type\": \"string\""]
10845 #[doc = " },"]
10846 #[doc = " \"method\": {"]
10847 #[doc = " \"type\": \"string\","]
10848 #[doc = " \"enum\": ["]
10849 #[doc = " \"network_info\""]
10850 #[doc = " ]"]
10851 #[doc = " },"]
10852 #[doc = " \"params\": {"]
10853 #[doc = " \"$ref\": \"#/components/schemas/RpcNetworkInfoRequest\""]
10854 #[doc = " }"]
10855 #[doc = " }"]
10856 #[doc = "}"]
10857 #[doc = r" ```"]
10858 #[doc = r" </details>"]
10859 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10860 pub struct JsonRpcRequestForNetworkInfo {
10861 pub id: ::std::string::String,
10862 pub jsonrpc: ::std::string::String,
10863 pub method: JsonRpcRequestForNetworkInfoMethod,
10864 pub params: RpcNetworkInfoRequest,
10865 }
10866 impl ::std::convert::From<&JsonRpcRequestForNetworkInfo> for JsonRpcRequestForNetworkInfo {
10867 fn from(value: &JsonRpcRequestForNetworkInfo) -> Self {
10868 value.clone()
10869 }
10870 }
10871 #[doc = "`JsonRpcRequestForNetworkInfoMethod`"]
10872 #[doc = r""]
10873 #[doc = r" <details><summary>JSON schema</summary>"]
10874 #[doc = r""]
10875 #[doc = r" ```json"]
10876 #[doc = "{"]
10877 #[doc = " \"type\": \"string\","]
10878 #[doc = " \"enum\": ["]
10879 #[doc = " \"network_info\""]
10880 #[doc = " ]"]
10881 #[doc = "}"]
10882 #[doc = r" ```"]
10883 #[doc = r" </details>"]
10884 #[derive(
10885 :: serde :: Deserialize,
10886 :: serde :: Serialize,
10887 Clone,
10888 Copy,
10889 Debug,
10890 Eq,
10891 Hash,
10892 Ord,
10893 PartialEq,
10894 PartialOrd,
10895 )]
10896 pub enum JsonRpcRequestForNetworkInfoMethod {
10897 #[serde(rename = "network_info")]
10898 NetworkInfo,
10899 }
10900 impl ::std::convert::From<&Self> for JsonRpcRequestForNetworkInfoMethod {
10901 fn from(value: &JsonRpcRequestForNetworkInfoMethod) -> Self {
10902 value.clone()
10903 }
10904 }
10905 impl ::std::fmt::Display for JsonRpcRequestForNetworkInfoMethod {
10906 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10907 match *self {
10908 Self::NetworkInfo => write!(f, "network_info"),
10909 }
10910 }
10911 }
10912 impl ::std::str::FromStr for JsonRpcRequestForNetworkInfoMethod {
10913 type Err = self::error::ConversionError;
10914 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10915 match value {
10916 "network_info" => Ok(Self::NetworkInfo),
10917 _ => Err("invalid value".into()),
10918 }
10919 }
10920 }
10921 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForNetworkInfoMethod {
10922 type Error = self::error::ConversionError;
10923 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
10924 value.parse()
10925 }
10926 }
10927 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForNetworkInfoMethod {
10928 type Error = self::error::ConversionError;
10929 fn try_from(
10930 value: &::std::string::String,
10931 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10932 value.parse()
10933 }
10934 }
10935 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForNetworkInfoMethod {
10936 type Error = self::error::ConversionError;
10937 fn try_from(
10938 value: ::std::string::String,
10939 ) -> ::std::result::Result<Self, self::error::ConversionError> {
10940 value.parse()
10941 }
10942 }
10943 #[doc = "`JsonRpcRequestForNextLightClientBlock`"]
10944 #[doc = r""]
10945 #[doc = r" <details><summary>JSON schema</summary>"]
10946 #[doc = r""]
10947 #[doc = r" ```json"]
10948 #[doc = "{"]
10949 #[doc = " \"title\": \"JsonRpcRequest_for_next_light_client_block\","]
10950 #[doc = " \"type\": \"object\","]
10951 #[doc = " \"required\": ["]
10952 #[doc = " \"id\","]
10953 #[doc = " \"jsonrpc\","]
10954 #[doc = " \"method\","]
10955 #[doc = " \"params\""]
10956 #[doc = " ],"]
10957 #[doc = " \"properties\": {"]
10958 #[doc = " \"id\": {"]
10959 #[doc = " \"type\": \"string\""]
10960 #[doc = " },"]
10961 #[doc = " \"jsonrpc\": {"]
10962 #[doc = " \"type\": \"string\""]
10963 #[doc = " },"]
10964 #[doc = " \"method\": {"]
10965 #[doc = " \"type\": \"string\","]
10966 #[doc = " \"enum\": ["]
10967 #[doc = " \"next_light_client_block\""]
10968 #[doc = " ]"]
10969 #[doc = " },"]
10970 #[doc = " \"params\": {"]
10971 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientNextBlockRequest\""]
10972 #[doc = " }"]
10973 #[doc = " }"]
10974 #[doc = "}"]
10975 #[doc = r" ```"]
10976 #[doc = r" </details>"]
10977 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
10978 pub struct JsonRpcRequestForNextLightClientBlock {
10979 pub id: ::std::string::String,
10980 pub jsonrpc: ::std::string::String,
10981 pub method: JsonRpcRequestForNextLightClientBlockMethod,
10982 pub params: RpcLightClientNextBlockRequest,
10983 }
10984 impl ::std::convert::From<&JsonRpcRequestForNextLightClientBlock>
10985 for JsonRpcRequestForNextLightClientBlock
10986 {
10987 fn from(value: &JsonRpcRequestForNextLightClientBlock) -> Self {
10988 value.clone()
10989 }
10990 }
10991 #[doc = "`JsonRpcRequestForNextLightClientBlockMethod`"]
10992 #[doc = r""]
10993 #[doc = r" <details><summary>JSON schema</summary>"]
10994 #[doc = r""]
10995 #[doc = r" ```json"]
10996 #[doc = "{"]
10997 #[doc = " \"type\": \"string\","]
10998 #[doc = " \"enum\": ["]
10999 #[doc = " \"next_light_client_block\""]
11000 #[doc = " ]"]
11001 #[doc = "}"]
11002 #[doc = r" ```"]
11003 #[doc = r" </details>"]
11004 #[derive(
11005 :: serde :: Deserialize,
11006 :: serde :: Serialize,
11007 Clone,
11008 Copy,
11009 Debug,
11010 Eq,
11011 Hash,
11012 Ord,
11013 PartialEq,
11014 PartialOrd,
11015 )]
11016 pub enum JsonRpcRequestForNextLightClientBlockMethod {
11017 #[serde(rename = "next_light_client_block")]
11018 NextLightClientBlock,
11019 }
11020 impl ::std::convert::From<&Self> for JsonRpcRequestForNextLightClientBlockMethod {
11021 fn from(value: &JsonRpcRequestForNextLightClientBlockMethod) -> Self {
11022 value.clone()
11023 }
11024 }
11025 impl ::std::fmt::Display for JsonRpcRequestForNextLightClientBlockMethod {
11026 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11027 match *self {
11028 Self::NextLightClientBlock => write!(f, "next_light_client_block"),
11029 }
11030 }
11031 }
11032 impl ::std::str::FromStr for JsonRpcRequestForNextLightClientBlockMethod {
11033 type Err = self::error::ConversionError;
11034 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11035 match value {
11036 "next_light_client_block" => Ok(Self::NextLightClientBlock),
11037 _ => Err("invalid value".into()),
11038 }
11039 }
11040 }
11041 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForNextLightClientBlockMethod {
11042 type Error = self::error::ConversionError;
11043 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11044 value.parse()
11045 }
11046 }
11047 impl ::std::convert::TryFrom<&::std::string::String>
11048 for JsonRpcRequestForNextLightClientBlockMethod
11049 {
11050 type Error = self::error::ConversionError;
11051 fn try_from(
11052 value: &::std::string::String,
11053 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11054 value.parse()
11055 }
11056 }
11057 impl ::std::convert::TryFrom<::std::string::String>
11058 for JsonRpcRequestForNextLightClientBlockMethod
11059 {
11060 type Error = self::error::ConversionError;
11061 fn try_from(
11062 value: ::std::string::String,
11063 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11064 value.parse()
11065 }
11066 }
11067 #[doc = "`JsonRpcRequestForQuery`"]
11068 #[doc = r""]
11069 #[doc = r" <details><summary>JSON schema</summary>"]
11070 #[doc = r""]
11071 #[doc = r" ```json"]
11072 #[doc = "{"]
11073 #[doc = " \"title\": \"JsonRpcRequest_for_query\","]
11074 #[doc = " \"type\": \"object\","]
11075 #[doc = " \"required\": ["]
11076 #[doc = " \"id\","]
11077 #[doc = " \"jsonrpc\","]
11078 #[doc = " \"method\","]
11079 #[doc = " \"params\""]
11080 #[doc = " ],"]
11081 #[doc = " \"properties\": {"]
11082 #[doc = " \"id\": {"]
11083 #[doc = " \"type\": \"string\""]
11084 #[doc = " },"]
11085 #[doc = " \"jsonrpc\": {"]
11086 #[doc = " \"type\": \"string\""]
11087 #[doc = " },"]
11088 #[doc = " \"method\": {"]
11089 #[doc = " \"type\": \"string\","]
11090 #[doc = " \"enum\": ["]
11091 #[doc = " \"query\""]
11092 #[doc = " ]"]
11093 #[doc = " },"]
11094 #[doc = " \"params\": {"]
11095 #[doc = " \"$ref\": \"#/components/schemas/RpcQueryRequest\""]
11096 #[doc = " }"]
11097 #[doc = " }"]
11098 #[doc = "}"]
11099 #[doc = r" ```"]
11100 #[doc = r" </details>"]
11101 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11102 pub struct JsonRpcRequestForQuery {
11103 pub id: ::std::string::String,
11104 pub jsonrpc: ::std::string::String,
11105 pub method: JsonRpcRequestForQueryMethod,
11106 pub params: RpcQueryRequest,
11107 }
11108 impl ::std::convert::From<&JsonRpcRequestForQuery> for JsonRpcRequestForQuery {
11109 fn from(value: &JsonRpcRequestForQuery) -> Self {
11110 value.clone()
11111 }
11112 }
11113 #[doc = "`JsonRpcRequestForQueryMethod`"]
11114 #[doc = r""]
11115 #[doc = r" <details><summary>JSON schema</summary>"]
11116 #[doc = r""]
11117 #[doc = r" ```json"]
11118 #[doc = "{"]
11119 #[doc = " \"type\": \"string\","]
11120 #[doc = " \"enum\": ["]
11121 #[doc = " \"query\""]
11122 #[doc = " ]"]
11123 #[doc = "}"]
11124 #[doc = r" ```"]
11125 #[doc = r" </details>"]
11126 #[derive(
11127 :: serde :: Deserialize,
11128 :: serde :: Serialize,
11129 Clone,
11130 Copy,
11131 Debug,
11132 Eq,
11133 Hash,
11134 Ord,
11135 PartialEq,
11136 PartialOrd,
11137 )]
11138 pub enum JsonRpcRequestForQueryMethod {
11139 #[serde(rename = "query")]
11140 Query,
11141 }
11142 impl ::std::convert::From<&Self> for JsonRpcRequestForQueryMethod {
11143 fn from(value: &JsonRpcRequestForQueryMethod) -> Self {
11144 value.clone()
11145 }
11146 }
11147 impl ::std::fmt::Display for JsonRpcRequestForQueryMethod {
11148 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11149 match *self {
11150 Self::Query => write!(f, "query"),
11151 }
11152 }
11153 }
11154 impl ::std::str::FromStr for JsonRpcRequestForQueryMethod {
11155 type Err = self::error::ConversionError;
11156 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11157 match value {
11158 "query" => Ok(Self::Query),
11159 _ => Err("invalid value".into()),
11160 }
11161 }
11162 }
11163 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForQueryMethod {
11164 type Error = self::error::ConversionError;
11165 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11166 value.parse()
11167 }
11168 }
11169 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForQueryMethod {
11170 type Error = self::error::ConversionError;
11171 fn try_from(
11172 value: &::std::string::String,
11173 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11174 value.parse()
11175 }
11176 }
11177 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForQueryMethod {
11178 type Error = self::error::ConversionError;
11179 fn try_from(
11180 value: ::std::string::String,
11181 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11182 value.parse()
11183 }
11184 }
11185 #[doc = "`JsonRpcRequestForSendTx`"]
11186 #[doc = r""]
11187 #[doc = r" <details><summary>JSON schema</summary>"]
11188 #[doc = r""]
11189 #[doc = r" ```json"]
11190 #[doc = "{"]
11191 #[doc = " \"title\": \"JsonRpcRequest_for_send_tx\","]
11192 #[doc = " \"type\": \"object\","]
11193 #[doc = " \"required\": ["]
11194 #[doc = " \"id\","]
11195 #[doc = " \"jsonrpc\","]
11196 #[doc = " \"method\","]
11197 #[doc = " \"params\""]
11198 #[doc = " ],"]
11199 #[doc = " \"properties\": {"]
11200 #[doc = " \"id\": {"]
11201 #[doc = " \"type\": \"string\""]
11202 #[doc = " },"]
11203 #[doc = " \"jsonrpc\": {"]
11204 #[doc = " \"type\": \"string\""]
11205 #[doc = " },"]
11206 #[doc = " \"method\": {"]
11207 #[doc = " \"type\": \"string\","]
11208 #[doc = " \"enum\": ["]
11209 #[doc = " \"send_tx\""]
11210 #[doc = " ]"]
11211 #[doc = " },"]
11212 #[doc = " \"params\": {"]
11213 #[doc = " \"$ref\": \"#/components/schemas/RpcSendTransactionRequest\""]
11214 #[doc = " }"]
11215 #[doc = " }"]
11216 #[doc = "}"]
11217 #[doc = r" ```"]
11218 #[doc = r" </details>"]
11219 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11220 pub struct JsonRpcRequestForSendTx {
11221 pub id: ::std::string::String,
11222 pub jsonrpc: ::std::string::String,
11223 pub method: JsonRpcRequestForSendTxMethod,
11224 pub params: RpcSendTransactionRequest,
11225 }
11226 impl ::std::convert::From<&JsonRpcRequestForSendTx> for JsonRpcRequestForSendTx {
11227 fn from(value: &JsonRpcRequestForSendTx) -> Self {
11228 value.clone()
11229 }
11230 }
11231 #[doc = "`JsonRpcRequestForSendTxMethod`"]
11232 #[doc = r""]
11233 #[doc = r" <details><summary>JSON schema</summary>"]
11234 #[doc = r""]
11235 #[doc = r" ```json"]
11236 #[doc = "{"]
11237 #[doc = " \"type\": \"string\","]
11238 #[doc = " \"enum\": ["]
11239 #[doc = " \"send_tx\""]
11240 #[doc = " ]"]
11241 #[doc = "}"]
11242 #[doc = r" ```"]
11243 #[doc = r" </details>"]
11244 #[derive(
11245 :: serde :: Deserialize,
11246 :: serde :: Serialize,
11247 Clone,
11248 Copy,
11249 Debug,
11250 Eq,
11251 Hash,
11252 Ord,
11253 PartialEq,
11254 PartialOrd,
11255 )]
11256 pub enum JsonRpcRequestForSendTxMethod {
11257 #[serde(rename = "send_tx")]
11258 SendTx,
11259 }
11260 impl ::std::convert::From<&Self> for JsonRpcRequestForSendTxMethod {
11261 fn from(value: &JsonRpcRequestForSendTxMethod) -> Self {
11262 value.clone()
11263 }
11264 }
11265 impl ::std::fmt::Display for JsonRpcRequestForSendTxMethod {
11266 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11267 match *self {
11268 Self::SendTx => write!(f, "send_tx"),
11269 }
11270 }
11271 }
11272 impl ::std::str::FromStr for JsonRpcRequestForSendTxMethod {
11273 type Err = self::error::ConversionError;
11274 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11275 match value {
11276 "send_tx" => Ok(Self::SendTx),
11277 _ => Err("invalid value".into()),
11278 }
11279 }
11280 }
11281 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForSendTxMethod {
11282 type Error = self::error::ConversionError;
11283 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11284 value.parse()
11285 }
11286 }
11287 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForSendTxMethod {
11288 type Error = self::error::ConversionError;
11289 fn try_from(
11290 value: &::std::string::String,
11291 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11292 value.parse()
11293 }
11294 }
11295 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForSendTxMethod {
11296 type Error = self::error::ConversionError;
11297 fn try_from(
11298 value: ::std::string::String,
11299 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11300 value.parse()
11301 }
11302 }
11303 #[doc = "`JsonRpcRequestForStatus`"]
11304 #[doc = r""]
11305 #[doc = r" <details><summary>JSON schema</summary>"]
11306 #[doc = r""]
11307 #[doc = r" ```json"]
11308 #[doc = "{"]
11309 #[doc = " \"title\": \"JsonRpcRequest_for_status\","]
11310 #[doc = " \"type\": \"object\","]
11311 #[doc = " \"required\": ["]
11312 #[doc = " \"id\","]
11313 #[doc = " \"jsonrpc\","]
11314 #[doc = " \"method\","]
11315 #[doc = " \"params\""]
11316 #[doc = " ],"]
11317 #[doc = " \"properties\": {"]
11318 #[doc = " \"id\": {"]
11319 #[doc = " \"type\": \"string\""]
11320 #[doc = " },"]
11321 #[doc = " \"jsonrpc\": {"]
11322 #[doc = " \"type\": \"string\""]
11323 #[doc = " },"]
11324 #[doc = " \"method\": {"]
11325 #[doc = " \"type\": \"string\","]
11326 #[doc = " \"enum\": ["]
11327 #[doc = " \"status\""]
11328 #[doc = " ]"]
11329 #[doc = " },"]
11330 #[doc = " \"params\": {"]
11331 #[doc = " \"$ref\": \"#/components/schemas/RpcStatusRequest\""]
11332 #[doc = " }"]
11333 #[doc = " }"]
11334 #[doc = "}"]
11335 #[doc = r" ```"]
11336 #[doc = r" </details>"]
11337 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11338 pub struct JsonRpcRequestForStatus {
11339 pub id: ::std::string::String,
11340 pub jsonrpc: ::std::string::String,
11341 pub method: JsonRpcRequestForStatusMethod,
11342 pub params: RpcStatusRequest,
11343 }
11344 impl ::std::convert::From<&JsonRpcRequestForStatus> for JsonRpcRequestForStatus {
11345 fn from(value: &JsonRpcRequestForStatus) -> Self {
11346 value.clone()
11347 }
11348 }
11349 #[doc = "`JsonRpcRequestForStatusMethod`"]
11350 #[doc = r""]
11351 #[doc = r" <details><summary>JSON schema</summary>"]
11352 #[doc = r""]
11353 #[doc = r" ```json"]
11354 #[doc = "{"]
11355 #[doc = " \"type\": \"string\","]
11356 #[doc = " \"enum\": ["]
11357 #[doc = " \"status\""]
11358 #[doc = " ]"]
11359 #[doc = "}"]
11360 #[doc = r" ```"]
11361 #[doc = r" </details>"]
11362 #[derive(
11363 :: serde :: Deserialize,
11364 :: serde :: Serialize,
11365 Clone,
11366 Copy,
11367 Debug,
11368 Eq,
11369 Hash,
11370 Ord,
11371 PartialEq,
11372 PartialOrd,
11373 )]
11374 pub enum JsonRpcRequestForStatusMethod {
11375 #[serde(rename = "status")]
11376 Status,
11377 }
11378 impl ::std::convert::From<&Self> for JsonRpcRequestForStatusMethod {
11379 fn from(value: &JsonRpcRequestForStatusMethod) -> Self {
11380 value.clone()
11381 }
11382 }
11383 impl ::std::fmt::Display for JsonRpcRequestForStatusMethod {
11384 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11385 match *self {
11386 Self::Status => write!(f, "status"),
11387 }
11388 }
11389 }
11390 impl ::std::str::FromStr for JsonRpcRequestForStatusMethod {
11391 type Err = self::error::ConversionError;
11392 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11393 match value {
11394 "status" => Ok(Self::Status),
11395 _ => Err("invalid value".into()),
11396 }
11397 }
11398 }
11399 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForStatusMethod {
11400 type Error = self::error::ConversionError;
11401 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11402 value.parse()
11403 }
11404 }
11405 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForStatusMethod {
11406 type Error = self::error::ConversionError;
11407 fn try_from(
11408 value: &::std::string::String,
11409 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11410 value.parse()
11411 }
11412 }
11413 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForStatusMethod {
11414 type Error = self::error::ConversionError;
11415 fn try_from(
11416 value: ::std::string::String,
11417 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11418 value.parse()
11419 }
11420 }
11421 #[doc = "`JsonRpcRequestForTx`"]
11422 #[doc = r""]
11423 #[doc = r" <details><summary>JSON schema</summary>"]
11424 #[doc = r""]
11425 #[doc = r" ```json"]
11426 #[doc = "{"]
11427 #[doc = " \"title\": \"JsonRpcRequest_for_tx\","]
11428 #[doc = " \"type\": \"object\","]
11429 #[doc = " \"required\": ["]
11430 #[doc = " \"id\","]
11431 #[doc = " \"jsonrpc\","]
11432 #[doc = " \"method\","]
11433 #[doc = " \"params\""]
11434 #[doc = " ],"]
11435 #[doc = " \"properties\": {"]
11436 #[doc = " \"id\": {"]
11437 #[doc = " \"type\": \"string\""]
11438 #[doc = " },"]
11439 #[doc = " \"jsonrpc\": {"]
11440 #[doc = " \"type\": \"string\""]
11441 #[doc = " },"]
11442 #[doc = " \"method\": {"]
11443 #[doc = " \"type\": \"string\","]
11444 #[doc = " \"enum\": ["]
11445 #[doc = " \"tx\""]
11446 #[doc = " ]"]
11447 #[doc = " },"]
11448 #[doc = " \"params\": {"]
11449 #[doc = " \"$ref\": \"#/components/schemas/RpcTransactionStatusRequest\""]
11450 #[doc = " }"]
11451 #[doc = " }"]
11452 #[doc = "}"]
11453 #[doc = r" ```"]
11454 #[doc = r" </details>"]
11455 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11456 pub struct JsonRpcRequestForTx {
11457 pub id: ::std::string::String,
11458 pub jsonrpc: ::std::string::String,
11459 pub method: JsonRpcRequestForTxMethod,
11460 pub params: RpcTransactionStatusRequest,
11461 }
11462 impl ::std::convert::From<&JsonRpcRequestForTx> for JsonRpcRequestForTx {
11463 fn from(value: &JsonRpcRequestForTx) -> Self {
11464 value.clone()
11465 }
11466 }
11467 #[doc = "`JsonRpcRequestForTxMethod`"]
11468 #[doc = r""]
11469 #[doc = r" <details><summary>JSON schema</summary>"]
11470 #[doc = r""]
11471 #[doc = r" ```json"]
11472 #[doc = "{"]
11473 #[doc = " \"type\": \"string\","]
11474 #[doc = " \"enum\": ["]
11475 #[doc = " \"tx\""]
11476 #[doc = " ]"]
11477 #[doc = "}"]
11478 #[doc = r" ```"]
11479 #[doc = r" </details>"]
11480 #[derive(
11481 :: serde :: Deserialize,
11482 :: serde :: Serialize,
11483 Clone,
11484 Copy,
11485 Debug,
11486 Eq,
11487 Hash,
11488 Ord,
11489 PartialEq,
11490 PartialOrd,
11491 )]
11492 pub enum JsonRpcRequestForTxMethod {
11493 #[serde(rename = "tx")]
11494 Tx,
11495 }
11496 impl ::std::convert::From<&Self> for JsonRpcRequestForTxMethod {
11497 fn from(value: &JsonRpcRequestForTxMethod) -> Self {
11498 value.clone()
11499 }
11500 }
11501 impl ::std::fmt::Display for JsonRpcRequestForTxMethod {
11502 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11503 match *self {
11504 Self::Tx => write!(f, "tx"),
11505 }
11506 }
11507 }
11508 impl ::std::str::FromStr for JsonRpcRequestForTxMethod {
11509 type Err = self::error::ConversionError;
11510 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11511 match value {
11512 "tx" => Ok(Self::Tx),
11513 _ => Err("invalid value".into()),
11514 }
11515 }
11516 }
11517 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForTxMethod {
11518 type Error = self::error::ConversionError;
11519 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11520 value.parse()
11521 }
11522 }
11523 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForTxMethod {
11524 type Error = self::error::ConversionError;
11525 fn try_from(
11526 value: &::std::string::String,
11527 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11528 value.parse()
11529 }
11530 }
11531 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForTxMethod {
11532 type Error = self::error::ConversionError;
11533 fn try_from(
11534 value: ::std::string::String,
11535 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11536 value.parse()
11537 }
11538 }
11539 #[doc = "`JsonRpcRequestForValidators`"]
11540 #[doc = r""]
11541 #[doc = r" <details><summary>JSON schema</summary>"]
11542 #[doc = r""]
11543 #[doc = r" ```json"]
11544 #[doc = "{"]
11545 #[doc = " \"title\": \"JsonRpcRequest_for_validators\","]
11546 #[doc = " \"type\": \"object\","]
11547 #[doc = " \"required\": ["]
11548 #[doc = " \"id\","]
11549 #[doc = " \"jsonrpc\","]
11550 #[doc = " \"method\","]
11551 #[doc = " \"params\""]
11552 #[doc = " ],"]
11553 #[doc = " \"properties\": {"]
11554 #[doc = " \"id\": {"]
11555 #[doc = " \"type\": \"string\""]
11556 #[doc = " },"]
11557 #[doc = " \"jsonrpc\": {"]
11558 #[doc = " \"type\": \"string\""]
11559 #[doc = " },"]
11560 #[doc = " \"method\": {"]
11561 #[doc = " \"type\": \"string\","]
11562 #[doc = " \"enum\": ["]
11563 #[doc = " \"validators\""]
11564 #[doc = " ]"]
11565 #[doc = " },"]
11566 #[doc = " \"params\": {"]
11567 #[doc = " \"$ref\": \"#/components/schemas/RpcValidatorRequest\""]
11568 #[doc = " }"]
11569 #[doc = " }"]
11570 #[doc = "}"]
11571 #[doc = r" ```"]
11572 #[doc = r" </details>"]
11573 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11574 pub struct JsonRpcRequestForValidators {
11575 pub id: ::std::string::String,
11576 pub jsonrpc: ::std::string::String,
11577 pub method: JsonRpcRequestForValidatorsMethod,
11578 pub params: RpcValidatorRequest,
11579 }
11580 impl ::std::convert::From<&JsonRpcRequestForValidators> for JsonRpcRequestForValidators {
11581 fn from(value: &JsonRpcRequestForValidators) -> Self {
11582 value.clone()
11583 }
11584 }
11585 #[doc = "`JsonRpcRequestForValidatorsMethod`"]
11586 #[doc = r""]
11587 #[doc = r" <details><summary>JSON schema</summary>"]
11588 #[doc = r""]
11589 #[doc = r" ```json"]
11590 #[doc = "{"]
11591 #[doc = " \"type\": \"string\","]
11592 #[doc = " \"enum\": ["]
11593 #[doc = " \"validators\""]
11594 #[doc = " ]"]
11595 #[doc = "}"]
11596 #[doc = r" ```"]
11597 #[doc = r" </details>"]
11598 #[derive(
11599 :: serde :: Deserialize,
11600 :: serde :: Serialize,
11601 Clone,
11602 Copy,
11603 Debug,
11604 Eq,
11605 Hash,
11606 Ord,
11607 PartialEq,
11608 PartialOrd,
11609 )]
11610 pub enum JsonRpcRequestForValidatorsMethod {
11611 #[serde(rename = "validators")]
11612 Validators,
11613 }
11614 impl ::std::convert::From<&Self> for JsonRpcRequestForValidatorsMethod {
11615 fn from(value: &JsonRpcRequestForValidatorsMethod) -> Self {
11616 value.clone()
11617 }
11618 }
11619 impl ::std::fmt::Display for JsonRpcRequestForValidatorsMethod {
11620 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11621 match *self {
11622 Self::Validators => write!(f, "validators"),
11623 }
11624 }
11625 }
11626 impl ::std::str::FromStr for JsonRpcRequestForValidatorsMethod {
11627 type Err = self::error::ConversionError;
11628 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11629 match value {
11630 "validators" => Ok(Self::Validators),
11631 _ => Err("invalid value".into()),
11632 }
11633 }
11634 }
11635 impl ::std::convert::TryFrom<&str> for JsonRpcRequestForValidatorsMethod {
11636 type Error = self::error::ConversionError;
11637 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
11638 value.parse()
11639 }
11640 }
11641 impl ::std::convert::TryFrom<&::std::string::String> for JsonRpcRequestForValidatorsMethod {
11642 type Error = self::error::ConversionError;
11643 fn try_from(
11644 value: &::std::string::String,
11645 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11646 value.parse()
11647 }
11648 }
11649 impl ::std::convert::TryFrom<::std::string::String> for JsonRpcRequestForValidatorsMethod {
11650 type Error = self::error::ConversionError;
11651 fn try_from(
11652 value: ::std::string::String,
11653 ) -> ::std::result::Result<Self, self::error::ConversionError> {
11654 value.parse()
11655 }
11656 }
11657 #[doc = "`JsonRpcResponseForArrayOfRangeOfUint64AndRpcError`"]
11658 #[doc = r""]
11659 #[doc = r" <details><summary>JSON schema</summary>"]
11660 #[doc = r""]
11661 #[doc = r" ```json"]
11662 #[doc = "{"]
11663 #[doc = " \"title\": \"JsonRpcResponse_for_Array_of_Range_of_uint64_and_RpcError\","]
11664 #[doc = " \"type\": \"object\","]
11665 #[doc = " \"oneOf\": ["]
11666 #[doc = " {"]
11667 #[doc = " \"type\": \"object\","]
11668 #[doc = " \"required\": ["]
11669 #[doc = " \"result\""]
11670 #[doc = " ],"]
11671 #[doc = " \"properties\": {"]
11672 #[doc = " \"result\": {"]
11673 #[doc = " \"type\": \"array\","]
11674 #[doc = " \"items\": {"]
11675 #[doc = " \"$ref\": \"#/components/schemas/Range_of_uint64\""]
11676 #[doc = " }"]
11677 #[doc = " }"]
11678 #[doc = " }"]
11679 #[doc = " },"]
11680 #[doc = " {"]
11681 #[doc = " \"type\": \"object\","]
11682 #[doc = " \"required\": ["]
11683 #[doc = " \"error\""]
11684 #[doc = " ],"]
11685 #[doc = " \"properties\": {"]
11686 #[doc = " \"error\": {"]
11687 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
11688 #[doc = " }"]
11689 #[doc = " }"]
11690 #[doc = " }"]
11691 #[doc = " ],"]
11692 #[doc = " \"required\": ["]
11693 #[doc = " \"id\","]
11694 #[doc = " \"jsonrpc\""]
11695 #[doc = " ],"]
11696 #[doc = " \"properties\": {"]
11697 #[doc = " \"id\": {"]
11698 #[doc = " \"type\": \"string\""]
11699 #[doc = " },"]
11700 #[doc = " \"jsonrpc\": {"]
11701 #[doc = " \"type\": \"string\""]
11702 #[doc = " }"]
11703 #[doc = " }"]
11704 #[doc = "}"]
11705 #[doc = r" ```"]
11706 #[doc = r" </details>"]
11707 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11708 #[serde(untagged)]
11709 pub enum JsonRpcResponseForArrayOfRangeOfUint64AndRpcError {
11710 Variant0 {
11711 id: ::std::string::String,
11712 jsonrpc: ::std::string::String,
11713 result: ::std::vec::Vec<RangeOfUint64>,
11714 },
11715 Variant1 {
11716 error: RpcError,
11717 id: ::std::string::String,
11718 jsonrpc: ::std::string::String,
11719 },
11720 }
11721 impl ::std::convert::From<&Self> for JsonRpcResponseForArrayOfRangeOfUint64AndRpcError {
11722 fn from(value: &JsonRpcResponseForArrayOfRangeOfUint64AndRpcError) -> Self {
11723 value.clone()
11724 }
11725 }
11726 #[doc = "`JsonRpcResponseForArrayOfValidatorStakeViewAndRpcError`"]
11727 #[doc = r""]
11728 #[doc = r" <details><summary>JSON schema</summary>"]
11729 #[doc = r""]
11730 #[doc = r" ```json"]
11731 #[doc = "{"]
11732 #[doc = " \"title\": \"JsonRpcResponse_for_Array_of_ValidatorStakeView_and_RpcError\","]
11733 #[doc = " \"type\": \"object\","]
11734 #[doc = " \"oneOf\": ["]
11735 #[doc = " {"]
11736 #[doc = " \"type\": \"object\","]
11737 #[doc = " \"required\": ["]
11738 #[doc = " \"result\""]
11739 #[doc = " ],"]
11740 #[doc = " \"properties\": {"]
11741 #[doc = " \"result\": {"]
11742 #[doc = " \"type\": \"array\","]
11743 #[doc = " \"items\": {"]
11744 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
11745 #[doc = " }"]
11746 #[doc = " }"]
11747 #[doc = " }"]
11748 #[doc = " },"]
11749 #[doc = " {"]
11750 #[doc = " \"type\": \"object\","]
11751 #[doc = " \"required\": ["]
11752 #[doc = " \"error\""]
11753 #[doc = " ],"]
11754 #[doc = " \"properties\": {"]
11755 #[doc = " \"error\": {"]
11756 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
11757 #[doc = " }"]
11758 #[doc = " }"]
11759 #[doc = " }"]
11760 #[doc = " ],"]
11761 #[doc = " \"required\": ["]
11762 #[doc = " \"id\","]
11763 #[doc = " \"jsonrpc\""]
11764 #[doc = " ],"]
11765 #[doc = " \"properties\": {"]
11766 #[doc = " \"id\": {"]
11767 #[doc = " \"type\": \"string\""]
11768 #[doc = " },"]
11769 #[doc = " \"jsonrpc\": {"]
11770 #[doc = " \"type\": \"string\""]
11771 #[doc = " }"]
11772 #[doc = " }"]
11773 #[doc = "}"]
11774 #[doc = r" ```"]
11775 #[doc = r" </details>"]
11776 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11777 #[serde(untagged)]
11778 pub enum JsonRpcResponseForArrayOfValidatorStakeViewAndRpcError {
11779 Variant0 {
11780 id: ::std::string::String,
11781 jsonrpc: ::std::string::String,
11782 result: ::std::vec::Vec<ValidatorStakeView>,
11783 },
11784 Variant1 {
11785 error: RpcError,
11786 id: ::std::string::String,
11787 jsonrpc: ::std::string::String,
11788 },
11789 }
11790 impl ::std::convert::From<&Self> for JsonRpcResponseForArrayOfValidatorStakeViewAndRpcError {
11791 fn from(value: &JsonRpcResponseForArrayOfValidatorStakeViewAndRpcError) -> Self {
11792 value.clone()
11793 }
11794 }
11795 #[doc = "`JsonRpcResponseForCryptoHashAndRpcError`"]
11796 #[doc = r""]
11797 #[doc = r" <details><summary>JSON schema</summary>"]
11798 #[doc = r""]
11799 #[doc = r" ```json"]
11800 #[doc = "{"]
11801 #[doc = " \"title\": \"JsonRpcResponse_for_CryptoHash_and_RpcError\","]
11802 #[doc = " \"type\": \"object\","]
11803 #[doc = " \"oneOf\": ["]
11804 #[doc = " {"]
11805 #[doc = " \"type\": \"object\","]
11806 #[doc = " \"required\": ["]
11807 #[doc = " \"result\""]
11808 #[doc = " ],"]
11809 #[doc = " \"properties\": {"]
11810 #[doc = " \"result\": {"]
11811 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
11812 #[doc = " }"]
11813 #[doc = " }"]
11814 #[doc = " },"]
11815 #[doc = " {"]
11816 #[doc = " \"type\": \"object\","]
11817 #[doc = " \"required\": ["]
11818 #[doc = " \"error\""]
11819 #[doc = " ],"]
11820 #[doc = " \"properties\": {"]
11821 #[doc = " \"error\": {"]
11822 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
11823 #[doc = " }"]
11824 #[doc = " }"]
11825 #[doc = " }"]
11826 #[doc = " ],"]
11827 #[doc = " \"required\": ["]
11828 #[doc = " \"id\","]
11829 #[doc = " \"jsonrpc\""]
11830 #[doc = " ],"]
11831 #[doc = " \"properties\": {"]
11832 #[doc = " \"id\": {"]
11833 #[doc = " \"type\": \"string\""]
11834 #[doc = " },"]
11835 #[doc = " \"jsonrpc\": {"]
11836 #[doc = " \"type\": \"string\""]
11837 #[doc = " }"]
11838 #[doc = " }"]
11839 #[doc = "}"]
11840 #[doc = r" ```"]
11841 #[doc = r" </details>"]
11842 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11843 #[serde(untagged)]
11844 pub enum JsonRpcResponseForCryptoHashAndRpcError {
11845 Variant0 {
11846 id: ::std::string::String,
11847 jsonrpc: ::std::string::String,
11848 result: CryptoHash,
11849 },
11850 Variant1 {
11851 error: RpcError,
11852 id: ::std::string::String,
11853 jsonrpc: ::std::string::String,
11854 },
11855 }
11856 impl ::std::convert::From<&Self> for JsonRpcResponseForCryptoHashAndRpcError {
11857 fn from(value: &JsonRpcResponseForCryptoHashAndRpcError) -> Self {
11858 value.clone()
11859 }
11860 }
11861 #[doc = "`JsonRpcResponseForGenesisConfigAndRpcError`"]
11862 #[doc = r""]
11863 #[doc = r" <details><summary>JSON schema</summary>"]
11864 #[doc = r""]
11865 #[doc = r" ```json"]
11866 #[doc = "{"]
11867 #[doc = " \"title\": \"JsonRpcResponse_for_GenesisConfig_and_RpcError\","]
11868 #[doc = " \"type\": \"object\","]
11869 #[doc = " \"oneOf\": ["]
11870 #[doc = " {"]
11871 #[doc = " \"type\": \"object\","]
11872 #[doc = " \"required\": ["]
11873 #[doc = " \"result\""]
11874 #[doc = " ],"]
11875 #[doc = " \"properties\": {"]
11876 #[doc = " \"result\": {"]
11877 #[doc = " \"$ref\": \"#/components/schemas/GenesisConfig\""]
11878 #[doc = " }"]
11879 #[doc = " }"]
11880 #[doc = " },"]
11881 #[doc = " {"]
11882 #[doc = " \"type\": \"object\","]
11883 #[doc = " \"required\": ["]
11884 #[doc = " \"error\""]
11885 #[doc = " ],"]
11886 #[doc = " \"properties\": {"]
11887 #[doc = " \"error\": {"]
11888 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
11889 #[doc = " }"]
11890 #[doc = " }"]
11891 #[doc = " }"]
11892 #[doc = " ],"]
11893 #[doc = " \"required\": ["]
11894 #[doc = " \"id\","]
11895 #[doc = " \"jsonrpc\""]
11896 #[doc = " ],"]
11897 #[doc = " \"properties\": {"]
11898 #[doc = " \"id\": {"]
11899 #[doc = " \"type\": \"string\""]
11900 #[doc = " },"]
11901 #[doc = " \"jsonrpc\": {"]
11902 #[doc = " \"type\": \"string\""]
11903 #[doc = " }"]
11904 #[doc = " }"]
11905 #[doc = "}"]
11906 #[doc = r" ```"]
11907 #[doc = r" </details>"]
11908 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11909 #[serde(untagged)]
11910 pub enum JsonRpcResponseForGenesisConfigAndRpcError {
11911 Variant0 {
11912 id: ::std::string::String,
11913 jsonrpc: ::std::string::String,
11914 result: GenesisConfig,
11915 },
11916 Variant1 {
11917 error: RpcError,
11918 id: ::std::string::String,
11919 jsonrpc: ::std::string::String,
11920 },
11921 }
11922 impl ::std::convert::From<&Self> for JsonRpcResponseForGenesisConfigAndRpcError {
11923 fn from(value: &JsonRpcResponseForGenesisConfigAndRpcError) -> Self {
11924 value.clone()
11925 }
11926 }
11927 #[doc = "`JsonRpcResponseForNullableRpcHealthResponseAndRpcError`"]
11928 #[doc = r""]
11929 #[doc = r" <details><summary>JSON schema</summary>"]
11930 #[doc = r""]
11931 #[doc = r" ```json"]
11932 #[doc = "{"]
11933 #[doc = " \"title\": \"JsonRpcResponse_for_Nullable_RpcHealthResponse_and_RpcError\","]
11934 #[doc = " \"type\": \"object\","]
11935 #[doc = " \"oneOf\": ["]
11936 #[doc = " {"]
11937 #[doc = " \"type\": \"object\","]
11938 #[doc = " \"required\": ["]
11939 #[doc = " \"result\""]
11940 #[doc = " ],"]
11941 #[doc = " \"properties\": {"]
11942 #[doc = " \"result\": {"]
11943 #[doc = " \"oneOf\": ["]
11944 #[doc = " {"]
11945 #[doc = " \"type\": \"null\""]
11946 #[doc = " },"]
11947 #[doc = " {"]
11948 #[doc = " \"allOf\": ["]
11949 #[doc = " {"]
11950 #[doc = " \"$ref\": \"#/components/schemas/RpcHealthResponse\""]
11951 #[doc = " }"]
11952 #[doc = " ]"]
11953 #[doc = " }"]
11954 #[doc = " ]"]
11955 #[doc = " }"]
11956 #[doc = " }"]
11957 #[doc = " },"]
11958 #[doc = " {"]
11959 #[doc = " \"type\": \"object\","]
11960 #[doc = " \"required\": ["]
11961 #[doc = " \"error\""]
11962 #[doc = " ],"]
11963 #[doc = " \"properties\": {"]
11964 #[doc = " \"error\": {"]
11965 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
11966 #[doc = " }"]
11967 #[doc = " }"]
11968 #[doc = " }"]
11969 #[doc = " ],"]
11970 #[doc = " \"required\": ["]
11971 #[doc = " \"id\","]
11972 #[doc = " \"jsonrpc\""]
11973 #[doc = " ],"]
11974 #[doc = " \"properties\": {"]
11975 #[doc = " \"id\": {"]
11976 #[doc = " \"type\": \"string\""]
11977 #[doc = " },"]
11978 #[doc = " \"jsonrpc\": {"]
11979 #[doc = " \"type\": \"string\""]
11980 #[doc = " }"]
11981 #[doc = " }"]
11982 #[doc = "}"]
11983 #[doc = r" ```"]
11984 #[doc = r" </details>"]
11985 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
11986 #[serde(untagged)]
11987 pub enum JsonRpcResponseForNullableRpcHealthResponseAndRpcError {
11988 Variant0 {
11989 id: ::std::string::String,
11990 jsonrpc: ::std::string::String,
11991 result: ::std::option::Option<RpcHealthResponse>,
11992 },
11993 Variant1 {
11994 error: RpcError,
11995 id: ::std::string::String,
11996 jsonrpc: ::std::string::String,
11997 },
11998 }
11999 impl ::std::convert::From<&Self> for JsonRpcResponseForNullableRpcHealthResponseAndRpcError {
12000 fn from(value: &JsonRpcResponseForNullableRpcHealthResponseAndRpcError) -> Self {
12001 value.clone()
12002 }
12003 }
12004 #[doc = "`JsonRpcResponseForRpcBlockResponseAndRpcError`"]
12005 #[doc = r""]
12006 #[doc = r" <details><summary>JSON schema</summary>"]
12007 #[doc = r""]
12008 #[doc = r" ```json"]
12009 #[doc = "{"]
12010 #[doc = " \"title\": \"JsonRpcResponse_for_RpcBlockResponse_and_RpcError\","]
12011 #[doc = " \"type\": \"object\","]
12012 #[doc = " \"oneOf\": ["]
12013 #[doc = " {"]
12014 #[doc = " \"type\": \"object\","]
12015 #[doc = " \"required\": ["]
12016 #[doc = " \"result\""]
12017 #[doc = " ],"]
12018 #[doc = " \"properties\": {"]
12019 #[doc = " \"result\": {"]
12020 #[doc = " \"$ref\": \"#/components/schemas/RpcBlockResponse\""]
12021 #[doc = " }"]
12022 #[doc = " }"]
12023 #[doc = " },"]
12024 #[doc = " {"]
12025 #[doc = " \"type\": \"object\","]
12026 #[doc = " \"required\": ["]
12027 #[doc = " \"error\""]
12028 #[doc = " ],"]
12029 #[doc = " \"properties\": {"]
12030 #[doc = " \"error\": {"]
12031 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12032 #[doc = " }"]
12033 #[doc = " }"]
12034 #[doc = " }"]
12035 #[doc = " ],"]
12036 #[doc = " \"required\": ["]
12037 #[doc = " \"id\","]
12038 #[doc = " \"jsonrpc\""]
12039 #[doc = " ],"]
12040 #[doc = " \"properties\": {"]
12041 #[doc = " \"id\": {"]
12042 #[doc = " \"type\": \"string\""]
12043 #[doc = " },"]
12044 #[doc = " \"jsonrpc\": {"]
12045 #[doc = " \"type\": \"string\""]
12046 #[doc = " }"]
12047 #[doc = " }"]
12048 #[doc = "}"]
12049 #[doc = r" ```"]
12050 #[doc = r" </details>"]
12051 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12052 #[serde(untagged)]
12053 pub enum JsonRpcResponseForRpcBlockResponseAndRpcError {
12054 Variant0 {
12055 id: ::std::string::String,
12056 jsonrpc: ::std::string::String,
12057 result: RpcBlockResponse,
12058 },
12059 Variant1 {
12060 error: RpcError,
12061 id: ::std::string::String,
12062 jsonrpc: ::std::string::String,
12063 },
12064 }
12065 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcBlockResponseAndRpcError {
12066 fn from(value: &JsonRpcResponseForRpcBlockResponseAndRpcError) -> Self {
12067 value.clone()
12068 }
12069 }
12070 #[doc = "`JsonRpcResponseForRpcChunkResponseAndRpcError`"]
12071 #[doc = r""]
12072 #[doc = r" <details><summary>JSON schema</summary>"]
12073 #[doc = r""]
12074 #[doc = r" ```json"]
12075 #[doc = "{"]
12076 #[doc = " \"title\": \"JsonRpcResponse_for_RpcChunkResponse_and_RpcError\","]
12077 #[doc = " \"type\": \"object\","]
12078 #[doc = " \"oneOf\": ["]
12079 #[doc = " {"]
12080 #[doc = " \"type\": \"object\","]
12081 #[doc = " \"required\": ["]
12082 #[doc = " \"result\""]
12083 #[doc = " ],"]
12084 #[doc = " \"properties\": {"]
12085 #[doc = " \"result\": {"]
12086 #[doc = " \"$ref\": \"#/components/schemas/RpcChunkResponse\""]
12087 #[doc = " }"]
12088 #[doc = " }"]
12089 #[doc = " },"]
12090 #[doc = " {"]
12091 #[doc = " \"type\": \"object\","]
12092 #[doc = " \"required\": ["]
12093 #[doc = " \"error\""]
12094 #[doc = " ],"]
12095 #[doc = " \"properties\": {"]
12096 #[doc = " \"error\": {"]
12097 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12098 #[doc = " }"]
12099 #[doc = " }"]
12100 #[doc = " }"]
12101 #[doc = " ],"]
12102 #[doc = " \"required\": ["]
12103 #[doc = " \"id\","]
12104 #[doc = " \"jsonrpc\""]
12105 #[doc = " ],"]
12106 #[doc = " \"properties\": {"]
12107 #[doc = " \"id\": {"]
12108 #[doc = " \"type\": \"string\""]
12109 #[doc = " },"]
12110 #[doc = " \"jsonrpc\": {"]
12111 #[doc = " \"type\": \"string\""]
12112 #[doc = " }"]
12113 #[doc = " }"]
12114 #[doc = "}"]
12115 #[doc = r" ```"]
12116 #[doc = r" </details>"]
12117 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12118 #[serde(untagged)]
12119 pub enum JsonRpcResponseForRpcChunkResponseAndRpcError {
12120 Variant0 {
12121 id: ::std::string::String,
12122 jsonrpc: ::std::string::String,
12123 result: RpcChunkResponse,
12124 },
12125 Variant1 {
12126 error: RpcError,
12127 id: ::std::string::String,
12128 jsonrpc: ::std::string::String,
12129 },
12130 }
12131 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcChunkResponseAndRpcError {
12132 fn from(value: &JsonRpcResponseForRpcChunkResponseAndRpcError) -> Self {
12133 value.clone()
12134 }
12135 }
12136 #[doc = "`JsonRpcResponseForRpcClientConfigResponseAndRpcError`"]
12137 #[doc = r""]
12138 #[doc = r" <details><summary>JSON schema</summary>"]
12139 #[doc = r""]
12140 #[doc = r" ```json"]
12141 #[doc = "{"]
12142 #[doc = " \"title\": \"JsonRpcResponse_for_RpcClientConfigResponse_and_RpcError\","]
12143 #[doc = " \"type\": \"object\","]
12144 #[doc = " \"oneOf\": ["]
12145 #[doc = " {"]
12146 #[doc = " \"type\": \"object\","]
12147 #[doc = " \"required\": ["]
12148 #[doc = " \"result\""]
12149 #[doc = " ],"]
12150 #[doc = " \"properties\": {"]
12151 #[doc = " \"result\": {"]
12152 #[doc = " \"$ref\": \"#/components/schemas/RpcClientConfigResponse\""]
12153 #[doc = " }"]
12154 #[doc = " }"]
12155 #[doc = " },"]
12156 #[doc = " {"]
12157 #[doc = " \"type\": \"object\","]
12158 #[doc = " \"required\": ["]
12159 #[doc = " \"error\""]
12160 #[doc = " ],"]
12161 #[doc = " \"properties\": {"]
12162 #[doc = " \"error\": {"]
12163 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12164 #[doc = " }"]
12165 #[doc = " }"]
12166 #[doc = " }"]
12167 #[doc = " ],"]
12168 #[doc = " \"required\": ["]
12169 #[doc = " \"id\","]
12170 #[doc = " \"jsonrpc\""]
12171 #[doc = " ],"]
12172 #[doc = " \"properties\": {"]
12173 #[doc = " \"id\": {"]
12174 #[doc = " \"type\": \"string\""]
12175 #[doc = " },"]
12176 #[doc = " \"jsonrpc\": {"]
12177 #[doc = " \"type\": \"string\""]
12178 #[doc = " }"]
12179 #[doc = " }"]
12180 #[doc = "}"]
12181 #[doc = r" ```"]
12182 #[doc = r" </details>"]
12183 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12184 #[serde(untagged)]
12185 pub enum JsonRpcResponseForRpcClientConfigResponseAndRpcError {
12186 Variant0 {
12187 id: ::std::string::String,
12188 jsonrpc: ::std::string::String,
12189 result: RpcClientConfigResponse,
12190 },
12191 Variant1 {
12192 error: RpcError,
12193 id: ::std::string::String,
12194 jsonrpc: ::std::string::String,
12195 },
12196 }
12197 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcClientConfigResponseAndRpcError {
12198 fn from(value: &JsonRpcResponseForRpcClientConfigResponseAndRpcError) -> Self {
12199 value.clone()
12200 }
12201 }
12202 #[doc = "`JsonRpcResponseForRpcCongestionLevelResponseAndRpcError`"]
12203 #[doc = r""]
12204 #[doc = r" <details><summary>JSON schema</summary>"]
12205 #[doc = r""]
12206 #[doc = r" ```json"]
12207 #[doc = "{"]
12208 #[doc = " \"title\": \"JsonRpcResponse_for_RpcCongestionLevelResponse_and_RpcError\","]
12209 #[doc = " \"type\": \"object\","]
12210 #[doc = " \"oneOf\": ["]
12211 #[doc = " {"]
12212 #[doc = " \"type\": \"object\","]
12213 #[doc = " \"required\": ["]
12214 #[doc = " \"result\""]
12215 #[doc = " ],"]
12216 #[doc = " \"properties\": {"]
12217 #[doc = " \"result\": {"]
12218 #[doc = " \"$ref\": \"#/components/schemas/RpcCongestionLevelResponse\""]
12219 #[doc = " }"]
12220 #[doc = " }"]
12221 #[doc = " },"]
12222 #[doc = " {"]
12223 #[doc = " \"type\": \"object\","]
12224 #[doc = " \"required\": ["]
12225 #[doc = " \"error\""]
12226 #[doc = " ],"]
12227 #[doc = " \"properties\": {"]
12228 #[doc = " \"error\": {"]
12229 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12230 #[doc = " }"]
12231 #[doc = " }"]
12232 #[doc = " }"]
12233 #[doc = " ],"]
12234 #[doc = " \"required\": ["]
12235 #[doc = " \"id\","]
12236 #[doc = " \"jsonrpc\""]
12237 #[doc = " ],"]
12238 #[doc = " \"properties\": {"]
12239 #[doc = " \"id\": {"]
12240 #[doc = " \"type\": \"string\""]
12241 #[doc = " },"]
12242 #[doc = " \"jsonrpc\": {"]
12243 #[doc = " \"type\": \"string\""]
12244 #[doc = " }"]
12245 #[doc = " }"]
12246 #[doc = "}"]
12247 #[doc = r" ```"]
12248 #[doc = r" </details>"]
12249 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12250 #[serde(untagged)]
12251 pub enum JsonRpcResponseForRpcCongestionLevelResponseAndRpcError {
12252 Variant0 {
12253 id: ::std::string::String,
12254 jsonrpc: ::std::string::String,
12255 result: RpcCongestionLevelResponse,
12256 },
12257 Variant1 {
12258 error: RpcError,
12259 id: ::std::string::String,
12260 jsonrpc: ::std::string::String,
12261 },
12262 }
12263 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcCongestionLevelResponseAndRpcError {
12264 fn from(value: &JsonRpcResponseForRpcCongestionLevelResponseAndRpcError) -> Self {
12265 value.clone()
12266 }
12267 }
12268 #[doc = "`JsonRpcResponseForRpcGasPriceResponseAndRpcError`"]
12269 #[doc = r""]
12270 #[doc = r" <details><summary>JSON schema</summary>"]
12271 #[doc = r""]
12272 #[doc = r" ```json"]
12273 #[doc = "{"]
12274 #[doc = " \"title\": \"JsonRpcResponse_for_RpcGasPriceResponse_and_RpcError\","]
12275 #[doc = " \"type\": \"object\","]
12276 #[doc = " \"oneOf\": ["]
12277 #[doc = " {"]
12278 #[doc = " \"type\": \"object\","]
12279 #[doc = " \"required\": ["]
12280 #[doc = " \"result\""]
12281 #[doc = " ],"]
12282 #[doc = " \"properties\": {"]
12283 #[doc = " \"result\": {"]
12284 #[doc = " \"$ref\": \"#/components/schemas/RpcGasPriceResponse\""]
12285 #[doc = " }"]
12286 #[doc = " }"]
12287 #[doc = " },"]
12288 #[doc = " {"]
12289 #[doc = " \"type\": \"object\","]
12290 #[doc = " \"required\": ["]
12291 #[doc = " \"error\""]
12292 #[doc = " ],"]
12293 #[doc = " \"properties\": {"]
12294 #[doc = " \"error\": {"]
12295 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12296 #[doc = " }"]
12297 #[doc = " }"]
12298 #[doc = " }"]
12299 #[doc = " ],"]
12300 #[doc = " \"required\": ["]
12301 #[doc = " \"id\","]
12302 #[doc = " \"jsonrpc\""]
12303 #[doc = " ],"]
12304 #[doc = " \"properties\": {"]
12305 #[doc = " \"id\": {"]
12306 #[doc = " \"type\": \"string\""]
12307 #[doc = " },"]
12308 #[doc = " \"jsonrpc\": {"]
12309 #[doc = " \"type\": \"string\""]
12310 #[doc = " }"]
12311 #[doc = " }"]
12312 #[doc = "}"]
12313 #[doc = r" ```"]
12314 #[doc = r" </details>"]
12315 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12316 #[serde(untagged)]
12317 pub enum JsonRpcResponseForRpcGasPriceResponseAndRpcError {
12318 Variant0 {
12319 id: ::std::string::String,
12320 jsonrpc: ::std::string::String,
12321 result: RpcGasPriceResponse,
12322 },
12323 Variant1 {
12324 error: RpcError,
12325 id: ::std::string::String,
12326 jsonrpc: ::std::string::String,
12327 },
12328 }
12329 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcGasPriceResponseAndRpcError {
12330 fn from(value: &JsonRpcResponseForRpcGasPriceResponseAndRpcError) -> Self {
12331 value.clone()
12332 }
12333 }
12334 #[doc = "`JsonRpcResponseForRpcLightClientBlockProofResponseAndRpcError`"]
12335 #[doc = r""]
12336 #[doc = r" <details><summary>JSON schema</summary>"]
12337 #[doc = r""]
12338 #[doc = r" ```json"]
12339 #[doc = "{"]
12340 #[doc = " \"title\": \"JsonRpcResponse_for_RpcLightClientBlockProofResponse_and_RpcError\","]
12341 #[doc = " \"type\": \"object\","]
12342 #[doc = " \"oneOf\": ["]
12343 #[doc = " {"]
12344 #[doc = " \"type\": \"object\","]
12345 #[doc = " \"required\": ["]
12346 #[doc = " \"result\""]
12347 #[doc = " ],"]
12348 #[doc = " \"properties\": {"]
12349 #[doc = " \"result\": {"]
12350 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientBlockProofResponse\""]
12351 #[doc = " }"]
12352 #[doc = " }"]
12353 #[doc = " },"]
12354 #[doc = " {"]
12355 #[doc = " \"type\": \"object\","]
12356 #[doc = " \"required\": ["]
12357 #[doc = " \"error\""]
12358 #[doc = " ],"]
12359 #[doc = " \"properties\": {"]
12360 #[doc = " \"error\": {"]
12361 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12362 #[doc = " }"]
12363 #[doc = " }"]
12364 #[doc = " }"]
12365 #[doc = " ],"]
12366 #[doc = " \"required\": ["]
12367 #[doc = " \"id\","]
12368 #[doc = " \"jsonrpc\""]
12369 #[doc = " ],"]
12370 #[doc = " \"properties\": {"]
12371 #[doc = " \"id\": {"]
12372 #[doc = " \"type\": \"string\""]
12373 #[doc = " },"]
12374 #[doc = " \"jsonrpc\": {"]
12375 #[doc = " \"type\": \"string\""]
12376 #[doc = " }"]
12377 #[doc = " }"]
12378 #[doc = "}"]
12379 #[doc = r" ```"]
12380 #[doc = r" </details>"]
12381 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12382 #[serde(untagged)]
12383 pub enum JsonRpcResponseForRpcLightClientBlockProofResponseAndRpcError {
12384 Variant0 {
12385 id: ::std::string::String,
12386 jsonrpc: ::std::string::String,
12387 result: RpcLightClientBlockProofResponse,
12388 },
12389 Variant1 {
12390 error: RpcError,
12391 id: ::std::string::String,
12392 jsonrpc: ::std::string::String,
12393 },
12394 }
12395 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcLightClientBlockProofResponseAndRpcError {
12396 fn from(value: &JsonRpcResponseForRpcLightClientBlockProofResponseAndRpcError) -> Self {
12397 value.clone()
12398 }
12399 }
12400 #[doc = "`JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcError`"]
12401 #[doc = r""]
12402 #[doc = r" <details><summary>JSON schema</summary>"]
12403 #[doc = r""]
12404 #[doc = r" ```json"]
12405 #[doc = "{"]
12406 #[doc = " \"title\": \"JsonRpcResponse_for_RpcLightClientExecutionProofResponse_and_RpcError\","]
12407 #[doc = " \"type\": \"object\","]
12408 #[doc = " \"oneOf\": ["]
12409 #[doc = " {"]
12410 #[doc = " \"type\": \"object\","]
12411 #[doc = " \"required\": ["]
12412 #[doc = " \"result\""]
12413 #[doc = " ],"]
12414 #[doc = " \"properties\": {"]
12415 #[doc = " \"result\": {"]
12416 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientExecutionProofResponse\""]
12417 #[doc = " }"]
12418 #[doc = " }"]
12419 #[doc = " },"]
12420 #[doc = " {"]
12421 #[doc = " \"type\": \"object\","]
12422 #[doc = " \"required\": ["]
12423 #[doc = " \"error\""]
12424 #[doc = " ],"]
12425 #[doc = " \"properties\": {"]
12426 #[doc = " \"error\": {"]
12427 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12428 #[doc = " }"]
12429 #[doc = " }"]
12430 #[doc = " }"]
12431 #[doc = " ],"]
12432 #[doc = " \"required\": ["]
12433 #[doc = " \"id\","]
12434 #[doc = " \"jsonrpc\""]
12435 #[doc = " ],"]
12436 #[doc = " \"properties\": {"]
12437 #[doc = " \"id\": {"]
12438 #[doc = " \"type\": \"string\""]
12439 #[doc = " },"]
12440 #[doc = " \"jsonrpc\": {"]
12441 #[doc = " \"type\": \"string\""]
12442 #[doc = " }"]
12443 #[doc = " }"]
12444 #[doc = "}"]
12445 #[doc = r" ```"]
12446 #[doc = r" </details>"]
12447 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12448 #[serde(untagged)]
12449 pub enum JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcError {
12450 Variant0 {
12451 id: ::std::string::String,
12452 jsonrpc: ::std::string::String,
12453 result: RpcLightClientExecutionProofResponse,
12454 },
12455 Variant1 {
12456 error: RpcError,
12457 id: ::std::string::String,
12458 jsonrpc: ::std::string::String,
12459 },
12460 }
12461 impl ::std::convert::From<&Self>
12462 for JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcError
12463 {
12464 fn from(value: &JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcError) -> Self {
12465 value.clone()
12466 }
12467 }
12468 #[doc = "`JsonRpcResponseForRpcLightClientNextBlockResponseAndRpcError`"]
12469 #[doc = r""]
12470 #[doc = r" <details><summary>JSON schema</summary>"]
12471 #[doc = r""]
12472 #[doc = r" ```json"]
12473 #[doc = "{"]
12474 #[doc = " \"title\": \"JsonRpcResponse_for_RpcLightClientNextBlockResponse_and_RpcError\","]
12475 #[doc = " \"type\": \"object\","]
12476 #[doc = " \"oneOf\": ["]
12477 #[doc = " {"]
12478 #[doc = " \"type\": \"object\","]
12479 #[doc = " \"required\": ["]
12480 #[doc = " \"result\""]
12481 #[doc = " ],"]
12482 #[doc = " \"properties\": {"]
12483 #[doc = " \"result\": {"]
12484 #[doc = " \"$ref\": \"#/components/schemas/RpcLightClientNextBlockResponse\""]
12485 #[doc = " }"]
12486 #[doc = " }"]
12487 #[doc = " },"]
12488 #[doc = " {"]
12489 #[doc = " \"type\": \"object\","]
12490 #[doc = " \"required\": ["]
12491 #[doc = " \"error\""]
12492 #[doc = " ],"]
12493 #[doc = " \"properties\": {"]
12494 #[doc = " \"error\": {"]
12495 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12496 #[doc = " }"]
12497 #[doc = " }"]
12498 #[doc = " }"]
12499 #[doc = " ],"]
12500 #[doc = " \"required\": ["]
12501 #[doc = " \"id\","]
12502 #[doc = " \"jsonrpc\""]
12503 #[doc = " ],"]
12504 #[doc = " \"properties\": {"]
12505 #[doc = " \"id\": {"]
12506 #[doc = " \"type\": \"string\""]
12507 #[doc = " },"]
12508 #[doc = " \"jsonrpc\": {"]
12509 #[doc = " \"type\": \"string\""]
12510 #[doc = " }"]
12511 #[doc = " }"]
12512 #[doc = "}"]
12513 #[doc = r" ```"]
12514 #[doc = r" </details>"]
12515 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12516 #[serde(untagged)]
12517 pub enum JsonRpcResponseForRpcLightClientNextBlockResponseAndRpcError {
12518 Variant0 {
12519 id: ::std::string::String,
12520 jsonrpc: ::std::string::String,
12521 result: RpcLightClientNextBlockResponse,
12522 },
12523 Variant1 {
12524 error: RpcError,
12525 id: ::std::string::String,
12526 jsonrpc: ::std::string::String,
12527 },
12528 }
12529 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcLightClientNextBlockResponseAndRpcError {
12530 fn from(value: &JsonRpcResponseForRpcLightClientNextBlockResponseAndRpcError) -> Self {
12531 value.clone()
12532 }
12533 }
12534 #[doc = "`JsonRpcResponseForRpcNetworkInfoResponseAndRpcError`"]
12535 #[doc = r""]
12536 #[doc = r" <details><summary>JSON schema</summary>"]
12537 #[doc = r""]
12538 #[doc = r" ```json"]
12539 #[doc = "{"]
12540 #[doc = " \"title\": \"JsonRpcResponse_for_RpcNetworkInfoResponse_and_RpcError\","]
12541 #[doc = " \"type\": \"object\","]
12542 #[doc = " \"oneOf\": ["]
12543 #[doc = " {"]
12544 #[doc = " \"type\": \"object\","]
12545 #[doc = " \"required\": ["]
12546 #[doc = " \"result\""]
12547 #[doc = " ],"]
12548 #[doc = " \"properties\": {"]
12549 #[doc = " \"result\": {"]
12550 #[doc = " \"$ref\": \"#/components/schemas/RpcNetworkInfoResponse\""]
12551 #[doc = " }"]
12552 #[doc = " }"]
12553 #[doc = " },"]
12554 #[doc = " {"]
12555 #[doc = " \"type\": \"object\","]
12556 #[doc = " \"required\": ["]
12557 #[doc = " \"error\""]
12558 #[doc = " ],"]
12559 #[doc = " \"properties\": {"]
12560 #[doc = " \"error\": {"]
12561 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12562 #[doc = " }"]
12563 #[doc = " }"]
12564 #[doc = " }"]
12565 #[doc = " ],"]
12566 #[doc = " \"required\": ["]
12567 #[doc = " \"id\","]
12568 #[doc = " \"jsonrpc\""]
12569 #[doc = " ],"]
12570 #[doc = " \"properties\": {"]
12571 #[doc = " \"id\": {"]
12572 #[doc = " \"type\": \"string\""]
12573 #[doc = " },"]
12574 #[doc = " \"jsonrpc\": {"]
12575 #[doc = " \"type\": \"string\""]
12576 #[doc = " }"]
12577 #[doc = " }"]
12578 #[doc = "}"]
12579 #[doc = r" ```"]
12580 #[doc = r" </details>"]
12581 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12582 #[serde(untagged)]
12583 pub enum JsonRpcResponseForRpcNetworkInfoResponseAndRpcError {
12584 Variant0 {
12585 id: ::std::string::String,
12586 jsonrpc: ::std::string::String,
12587 result: RpcNetworkInfoResponse,
12588 },
12589 Variant1 {
12590 error: RpcError,
12591 id: ::std::string::String,
12592 jsonrpc: ::std::string::String,
12593 },
12594 }
12595 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcNetworkInfoResponseAndRpcError {
12596 fn from(value: &JsonRpcResponseForRpcNetworkInfoResponseAndRpcError) -> Self {
12597 value.clone()
12598 }
12599 }
12600 #[doc = "`JsonRpcResponseForRpcProtocolConfigResponseAndRpcError`"]
12601 #[doc = r""]
12602 #[doc = r" <details><summary>JSON schema</summary>"]
12603 #[doc = r""]
12604 #[doc = r" ```json"]
12605 #[doc = "{"]
12606 #[doc = " \"title\": \"JsonRpcResponse_for_RpcProtocolConfigResponse_and_RpcError\","]
12607 #[doc = " \"type\": \"object\","]
12608 #[doc = " \"oneOf\": ["]
12609 #[doc = " {"]
12610 #[doc = " \"type\": \"object\","]
12611 #[doc = " \"required\": ["]
12612 #[doc = " \"result\""]
12613 #[doc = " ],"]
12614 #[doc = " \"properties\": {"]
12615 #[doc = " \"result\": {"]
12616 #[doc = " \"$ref\": \"#/components/schemas/RpcProtocolConfigResponse\""]
12617 #[doc = " }"]
12618 #[doc = " }"]
12619 #[doc = " },"]
12620 #[doc = " {"]
12621 #[doc = " \"type\": \"object\","]
12622 #[doc = " \"required\": ["]
12623 #[doc = " \"error\""]
12624 #[doc = " ],"]
12625 #[doc = " \"properties\": {"]
12626 #[doc = " \"error\": {"]
12627 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12628 #[doc = " }"]
12629 #[doc = " }"]
12630 #[doc = " }"]
12631 #[doc = " ],"]
12632 #[doc = " \"required\": ["]
12633 #[doc = " \"id\","]
12634 #[doc = " \"jsonrpc\""]
12635 #[doc = " ],"]
12636 #[doc = " \"properties\": {"]
12637 #[doc = " \"id\": {"]
12638 #[doc = " \"type\": \"string\""]
12639 #[doc = " },"]
12640 #[doc = " \"jsonrpc\": {"]
12641 #[doc = " \"type\": \"string\""]
12642 #[doc = " }"]
12643 #[doc = " }"]
12644 #[doc = "}"]
12645 #[doc = r" ```"]
12646 #[doc = r" </details>"]
12647 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12648 #[serde(untagged)]
12649 pub enum JsonRpcResponseForRpcProtocolConfigResponseAndRpcError {
12650 Variant0 {
12651 id: ::std::string::String,
12652 jsonrpc: ::std::string::String,
12653 result: RpcProtocolConfigResponse,
12654 },
12655 Variant1 {
12656 error: RpcError,
12657 id: ::std::string::String,
12658 jsonrpc: ::std::string::String,
12659 },
12660 }
12661 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcProtocolConfigResponseAndRpcError {
12662 fn from(value: &JsonRpcResponseForRpcProtocolConfigResponseAndRpcError) -> Self {
12663 value.clone()
12664 }
12665 }
12666 #[doc = "`JsonRpcResponseForRpcQueryResponseAndRpcError`"]
12667 #[doc = r""]
12668 #[doc = r" <details><summary>JSON schema</summary>"]
12669 #[doc = r""]
12670 #[doc = r" ```json"]
12671 #[doc = "{"]
12672 #[doc = " \"title\": \"JsonRpcResponse_for_RpcQueryResponse_and_RpcError\","]
12673 #[doc = " \"type\": \"object\","]
12674 #[doc = " \"oneOf\": ["]
12675 #[doc = " {"]
12676 #[doc = " \"type\": \"object\","]
12677 #[doc = " \"required\": ["]
12678 #[doc = " \"result\""]
12679 #[doc = " ],"]
12680 #[doc = " \"properties\": {"]
12681 #[doc = " \"result\": {"]
12682 #[doc = " \"$ref\": \"#/components/schemas/RpcQueryResponse\""]
12683 #[doc = " }"]
12684 #[doc = " }"]
12685 #[doc = " },"]
12686 #[doc = " {"]
12687 #[doc = " \"type\": \"object\","]
12688 #[doc = " \"required\": ["]
12689 #[doc = " \"error\""]
12690 #[doc = " ],"]
12691 #[doc = " \"properties\": {"]
12692 #[doc = " \"error\": {"]
12693 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12694 #[doc = " }"]
12695 #[doc = " }"]
12696 #[doc = " }"]
12697 #[doc = " ],"]
12698 #[doc = " \"required\": ["]
12699 #[doc = " \"id\","]
12700 #[doc = " \"jsonrpc\""]
12701 #[doc = " ],"]
12702 #[doc = " \"properties\": {"]
12703 #[doc = " \"id\": {"]
12704 #[doc = " \"type\": \"string\""]
12705 #[doc = " },"]
12706 #[doc = " \"jsonrpc\": {"]
12707 #[doc = " \"type\": \"string\""]
12708 #[doc = " }"]
12709 #[doc = " }"]
12710 #[doc = "}"]
12711 #[doc = r" ```"]
12712 #[doc = r" </details>"]
12713 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12714 #[serde(untagged)]
12715 pub enum JsonRpcResponseForRpcQueryResponseAndRpcError {
12716 Variant0 {
12717 id: ::std::string::String,
12718 jsonrpc: ::std::string::String,
12719 result: RpcQueryResponse,
12720 },
12721 Variant1 {
12722 error: RpcError,
12723 id: ::std::string::String,
12724 jsonrpc: ::std::string::String,
12725 },
12726 }
12727 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcQueryResponseAndRpcError {
12728 fn from(value: &JsonRpcResponseForRpcQueryResponseAndRpcError) -> Self {
12729 value.clone()
12730 }
12731 }
12732 #[doc = "`JsonRpcResponseForRpcReceiptResponseAndRpcError`"]
12733 #[doc = r""]
12734 #[doc = r" <details><summary>JSON schema</summary>"]
12735 #[doc = r""]
12736 #[doc = r" ```json"]
12737 #[doc = "{"]
12738 #[doc = " \"title\": \"JsonRpcResponse_for_RpcReceiptResponse_and_RpcError\","]
12739 #[doc = " \"type\": \"object\","]
12740 #[doc = " \"oneOf\": ["]
12741 #[doc = " {"]
12742 #[doc = " \"type\": \"object\","]
12743 #[doc = " \"required\": ["]
12744 #[doc = " \"result\""]
12745 #[doc = " ],"]
12746 #[doc = " \"properties\": {"]
12747 #[doc = " \"result\": {"]
12748 #[doc = " \"$ref\": \"#/components/schemas/RpcReceiptResponse\""]
12749 #[doc = " }"]
12750 #[doc = " }"]
12751 #[doc = " },"]
12752 #[doc = " {"]
12753 #[doc = " \"type\": \"object\","]
12754 #[doc = " \"required\": ["]
12755 #[doc = " \"error\""]
12756 #[doc = " ],"]
12757 #[doc = " \"properties\": {"]
12758 #[doc = " \"error\": {"]
12759 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12760 #[doc = " }"]
12761 #[doc = " }"]
12762 #[doc = " }"]
12763 #[doc = " ],"]
12764 #[doc = " \"required\": ["]
12765 #[doc = " \"id\","]
12766 #[doc = " \"jsonrpc\""]
12767 #[doc = " ],"]
12768 #[doc = " \"properties\": {"]
12769 #[doc = " \"id\": {"]
12770 #[doc = " \"type\": \"string\""]
12771 #[doc = " },"]
12772 #[doc = " \"jsonrpc\": {"]
12773 #[doc = " \"type\": \"string\""]
12774 #[doc = " }"]
12775 #[doc = " }"]
12776 #[doc = "}"]
12777 #[doc = r" ```"]
12778 #[doc = r" </details>"]
12779 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12780 #[serde(untagged)]
12781 pub enum JsonRpcResponseForRpcReceiptResponseAndRpcError {
12782 Variant0 {
12783 id: ::std::string::String,
12784 jsonrpc: ::std::string::String,
12785 result: RpcReceiptResponse,
12786 },
12787 Variant1 {
12788 error: RpcError,
12789 id: ::std::string::String,
12790 jsonrpc: ::std::string::String,
12791 },
12792 }
12793 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcReceiptResponseAndRpcError {
12794 fn from(value: &JsonRpcResponseForRpcReceiptResponseAndRpcError) -> Self {
12795 value.clone()
12796 }
12797 }
12798 #[doc = "`JsonRpcResponseForRpcSplitStorageInfoResponseAndRpcError`"]
12799 #[doc = r""]
12800 #[doc = r" <details><summary>JSON schema</summary>"]
12801 #[doc = r""]
12802 #[doc = r" ```json"]
12803 #[doc = "{"]
12804 #[doc = " \"title\": \"JsonRpcResponse_for_RpcSplitStorageInfoResponse_and_RpcError\","]
12805 #[doc = " \"type\": \"object\","]
12806 #[doc = " \"oneOf\": ["]
12807 #[doc = " {"]
12808 #[doc = " \"type\": \"object\","]
12809 #[doc = " \"required\": ["]
12810 #[doc = " \"result\""]
12811 #[doc = " ],"]
12812 #[doc = " \"properties\": {"]
12813 #[doc = " \"result\": {"]
12814 #[doc = " \"$ref\": \"#/components/schemas/RpcSplitStorageInfoResponse\""]
12815 #[doc = " }"]
12816 #[doc = " }"]
12817 #[doc = " },"]
12818 #[doc = " {"]
12819 #[doc = " \"type\": \"object\","]
12820 #[doc = " \"required\": ["]
12821 #[doc = " \"error\""]
12822 #[doc = " ],"]
12823 #[doc = " \"properties\": {"]
12824 #[doc = " \"error\": {"]
12825 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12826 #[doc = " }"]
12827 #[doc = " }"]
12828 #[doc = " }"]
12829 #[doc = " ],"]
12830 #[doc = " \"required\": ["]
12831 #[doc = " \"id\","]
12832 #[doc = " \"jsonrpc\""]
12833 #[doc = " ],"]
12834 #[doc = " \"properties\": {"]
12835 #[doc = " \"id\": {"]
12836 #[doc = " \"type\": \"string\""]
12837 #[doc = " },"]
12838 #[doc = " \"jsonrpc\": {"]
12839 #[doc = " \"type\": \"string\""]
12840 #[doc = " }"]
12841 #[doc = " }"]
12842 #[doc = "}"]
12843 #[doc = r" ```"]
12844 #[doc = r" </details>"]
12845 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12846 #[serde(untagged)]
12847 pub enum JsonRpcResponseForRpcSplitStorageInfoResponseAndRpcError {
12848 Variant0 {
12849 id: ::std::string::String,
12850 jsonrpc: ::std::string::String,
12851 result: RpcSplitStorageInfoResponse,
12852 },
12853 Variant1 {
12854 error: RpcError,
12855 id: ::std::string::String,
12856 jsonrpc: ::std::string::String,
12857 },
12858 }
12859 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcSplitStorageInfoResponseAndRpcError {
12860 fn from(value: &JsonRpcResponseForRpcSplitStorageInfoResponseAndRpcError) -> Self {
12861 value.clone()
12862 }
12863 }
12864 #[doc = "`JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcError`"]
12865 #[doc = r""]
12866 #[doc = r" <details><summary>JSON schema</summary>"]
12867 #[doc = r""]
12868 #[doc = r" ```json"]
12869 #[doc = "{"]
12870 #[doc = " \"title\": \"JsonRpcResponse_for_RpcStateChangesInBlockByTypeResponse_and_RpcError\","]
12871 #[doc = " \"type\": \"object\","]
12872 #[doc = " \"oneOf\": ["]
12873 #[doc = " {"]
12874 #[doc = " \"type\": \"object\","]
12875 #[doc = " \"required\": ["]
12876 #[doc = " \"result\""]
12877 #[doc = " ],"]
12878 #[doc = " \"properties\": {"]
12879 #[doc = " \"result\": {"]
12880 #[doc = " \"$ref\": \"#/components/schemas/RpcStateChangesInBlockByTypeResponse\""]
12881 #[doc = " }"]
12882 #[doc = " }"]
12883 #[doc = " },"]
12884 #[doc = " {"]
12885 #[doc = " \"type\": \"object\","]
12886 #[doc = " \"required\": ["]
12887 #[doc = " \"error\""]
12888 #[doc = " ],"]
12889 #[doc = " \"properties\": {"]
12890 #[doc = " \"error\": {"]
12891 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12892 #[doc = " }"]
12893 #[doc = " }"]
12894 #[doc = " }"]
12895 #[doc = " ],"]
12896 #[doc = " \"required\": ["]
12897 #[doc = " \"id\","]
12898 #[doc = " \"jsonrpc\""]
12899 #[doc = " ],"]
12900 #[doc = " \"properties\": {"]
12901 #[doc = " \"id\": {"]
12902 #[doc = " \"type\": \"string\""]
12903 #[doc = " },"]
12904 #[doc = " \"jsonrpc\": {"]
12905 #[doc = " \"type\": \"string\""]
12906 #[doc = " }"]
12907 #[doc = " }"]
12908 #[doc = "}"]
12909 #[doc = r" ```"]
12910 #[doc = r" </details>"]
12911 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12912 #[serde(untagged)]
12913 pub enum JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcError {
12914 Variant0 {
12915 id: ::std::string::String,
12916 jsonrpc: ::std::string::String,
12917 result: RpcStateChangesInBlockByTypeResponse,
12918 },
12919 Variant1 {
12920 error: RpcError,
12921 id: ::std::string::String,
12922 jsonrpc: ::std::string::String,
12923 },
12924 }
12925 impl ::std::convert::From<&Self>
12926 for JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcError
12927 {
12928 fn from(value: &JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcError) -> Self {
12929 value.clone()
12930 }
12931 }
12932 #[doc = "`JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcError`"]
12933 #[doc = r""]
12934 #[doc = r" <details><summary>JSON schema</summary>"]
12935 #[doc = r""]
12936 #[doc = r" ```json"]
12937 #[doc = "{"]
12938 #[doc = " \"title\": \"JsonRpcResponse_for_RpcStateChangesInBlockResponse_and_RpcError\","]
12939 #[doc = " \"type\": \"object\","]
12940 #[doc = " \"oneOf\": ["]
12941 #[doc = " {"]
12942 #[doc = " \"type\": \"object\","]
12943 #[doc = " \"required\": ["]
12944 #[doc = " \"result\""]
12945 #[doc = " ],"]
12946 #[doc = " \"properties\": {"]
12947 #[doc = " \"result\": {"]
12948 #[doc = " \"$ref\": \"#/components/schemas/RpcStateChangesInBlockResponse\""]
12949 #[doc = " }"]
12950 #[doc = " }"]
12951 #[doc = " },"]
12952 #[doc = " {"]
12953 #[doc = " \"type\": \"object\","]
12954 #[doc = " \"required\": ["]
12955 #[doc = " \"error\""]
12956 #[doc = " ],"]
12957 #[doc = " \"properties\": {"]
12958 #[doc = " \"error\": {"]
12959 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
12960 #[doc = " }"]
12961 #[doc = " }"]
12962 #[doc = " }"]
12963 #[doc = " ],"]
12964 #[doc = " \"required\": ["]
12965 #[doc = " \"id\","]
12966 #[doc = " \"jsonrpc\""]
12967 #[doc = " ],"]
12968 #[doc = " \"properties\": {"]
12969 #[doc = " \"id\": {"]
12970 #[doc = " \"type\": \"string\""]
12971 #[doc = " },"]
12972 #[doc = " \"jsonrpc\": {"]
12973 #[doc = " \"type\": \"string\""]
12974 #[doc = " }"]
12975 #[doc = " }"]
12976 #[doc = "}"]
12977 #[doc = r" ```"]
12978 #[doc = r" </details>"]
12979 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
12980 #[serde(untagged)]
12981 pub enum JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcError {
12982 Variant0 {
12983 id: ::std::string::String,
12984 jsonrpc: ::std::string::String,
12985 result: RpcStateChangesInBlockResponse,
12986 },
12987 Variant1 {
12988 error: RpcError,
12989 id: ::std::string::String,
12990 jsonrpc: ::std::string::String,
12991 },
12992 }
12993 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcError {
12994 fn from(value: &JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcError) -> Self {
12995 value.clone()
12996 }
12997 }
12998 #[doc = "`JsonRpcResponseForRpcStatusResponseAndRpcError`"]
12999 #[doc = r""]
13000 #[doc = r" <details><summary>JSON schema</summary>"]
13001 #[doc = r""]
13002 #[doc = r" ```json"]
13003 #[doc = "{"]
13004 #[doc = " \"title\": \"JsonRpcResponse_for_RpcStatusResponse_and_RpcError\","]
13005 #[doc = " \"type\": \"object\","]
13006 #[doc = " \"oneOf\": ["]
13007 #[doc = " {"]
13008 #[doc = " \"type\": \"object\","]
13009 #[doc = " \"required\": ["]
13010 #[doc = " \"result\""]
13011 #[doc = " ],"]
13012 #[doc = " \"properties\": {"]
13013 #[doc = " \"result\": {"]
13014 #[doc = " \"$ref\": \"#/components/schemas/RpcStatusResponse\""]
13015 #[doc = " }"]
13016 #[doc = " }"]
13017 #[doc = " },"]
13018 #[doc = " {"]
13019 #[doc = " \"type\": \"object\","]
13020 #[doc = " \"required\": ["]
13021 #[doc = " \"error\""]
13022 #[doc = " ],"]
13023 #[doc = " \"properties\": {"]
13024 #[doc = " \"error\": {"]
13025 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
13026 #[doc = " }"]
13027 #[doc = " }"]
13028 #[doc = " }"]
13029 #[doc = " ],"]
13030 #[doc = " \"required\": ["]
13031 #[doc = " \"id\","]
13032 #[doc = " \"jsonrpc\""]
13033 #[doc = " ],"]
13034 #[doc = " \"properties\": {"]
13035 #[doc = " \"id\": {"]
13036 #[doc = " \"type\": \"string\""]
13037 #[doc = " },"]
13038 #[doc = " \"jsonrpc\": {"]
13039 #[doc = " \"type\": \"string\""]
13040 #[doc = " }"]
13041 #[doc = " }"]
13042 #[doc = "}"]
13043 #[doc = r" ```"]
13044 #[doc = r" </details>"]
13045 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13046 #[serde(untagged)]
13047 pub enum JsonRpcResponseForRpcStatusResponseAndRpcError {
13048 Variant0 {
13049 id: ::std::string::String,
13050 jsonrpc: ::std::string::String,
13051 result: RpcStatusResponse,
13052 },
13053 Variant1 {
13054 error: RpcError,
13055 id: ::std::string::String,
13056 jsonrpc: ::std::string::String,
13057 },
13058 }
13059 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcStatusResponseAndRpcError {
13060 fn from(value: &JsonRpcResponseForRpcStatusResponseAndRpcError) -> Self {
13061 value.clone()
13062 }
13063 }
13064 #[doc = "`JsonRpcResponseForRpcTransactionResponseAndRpcError`"]
13065 #[doc = r""]
13066 #[doc = r" <details><summary>JSON schema</summary>"]
13067 #[doc = r""]
13068 #[doc = r" ```json"]
13069 #[doc = "{"]
13070 #[doc = " \"title\": \"JsonRpcResponse_for_RpcTransactionResponse_and_RpcError\","]
13071 #[doc = " \"type\": \"object\","]
13072 #[doc = " \"oneOf\": ["]
13073 #[doc = " {"]
13074 #[doc = " \"type\": \"object\","]
13075 #[doc = " \"required\": ["]
13076 #[doc = " \"result\""]
13077 #[doc = " ],"]
13078 #[doc = " \"properties\": {"]
13079 #[doc = " \"result\": {"]
13080 #[doc = " \"$ref\": \"#/components/schemas/RpcTransactionResponse\""]
13081 #[doc = " }"]
13082 #[doc = " }"]
13083 #[doc = " },"]
13084 #[doc = " {"]
13085 #[doc = " \"type\": \"object\","]
13086 #[doc = " \"required\": ["]
13087 #[doc = " \"error\""]
13088 #[doc = " ],"]
13089 #[doc = " \"properties\": {"]
13090 #[doc = " \"error\": {"]
13091 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
13092 #[doc = " }"]
13093 #[doc = " }"]
13094 #[doc = " }"]
13095 #[doc = " ],"]
13096 #[doc = " \"required\": ["]
13097 #[doc = " \"id\","]
13098 #[doc = " \"jsonrpc\""]
13099 #[doc = " ],"]
13100 #[doc = " \"properties\": {"]
13101 #[doc = " \"id\": {"]
13102 #[doc = " \"type\": \"string\""]
13103 #[doc = " },"]
13104 #[doc = " \"jsonrpc\": {"]
13105 #[doc = " \"type\": \"string\""]
13106 #[doc = " }"]
13107 #[doc = " }"]
13108 #[doc = "}"]
13109 #[doc = r" ```"]
13110 #[doc = r" </details>"]
13111 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13112 #[serde(untagged)]
13113 pub enum JsonRpcResponseForRpcTransactionResponseAndRpcError {
13114 Variant0 {
13115 id: ::std::string::String,
13116 jsonrpc: ::std::string::String,
13117 result: RpcTransactionResponse,
13118 },
13119 Variant1 {
13120 error: RpcError,
13121 id: ::std::string::String,
13122 jsonrpc: ::std::string::String,
13123 },
13124 }
13125 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcTransactionResponseAndRpcError {
13126 fn from(value: &JsonRpcResponseForRpcTransactionResponseAndRpcError) -> Self {
13127 value.clone()
13128 }
13129 }
13130 #[doc = "`JsonRpcResponseForRpcValidatorResponseAndRpcError`"]
13131 #[doc = r""]
13132 #[doc = r" <details><summary>JSON schema</summary>"]
13133 #[doc = r""]
13134 #[doc = r" ```json"]
13135 #[doc = "{"]
13136 #[doc = " \"title\": \"JsonRpcResponse_for_RpcValidatorResponse_and_RpcError\","]
13137 #[doc = " \"type\": \"object\","]
13138 #[doc = " \"oneOf\": ["]
13139 #[doc = " {"]
13140 #[doc = " \"type\": \"object\","]
13141 #[doc = " \"required\": ["]
13142 #[doc = " \"result\""]
13143 #[doc = " ],"]
13144 #[doc = " \"properties\": {"]
13145 #[doc = " \"result\": {"]
13146 #[doc = " \"$ref\": \"#/components/schemas/RpcValidatorResponse\""]
13147 #[doc = " }"]
13148 #[doc = " }"]
13149 #[doc = " },"]
13150 #[doc = " {"]
13151 #[doc = " \"type\": \"object\","]
13152 #[doc = " \"required\": ["]
13153 #[doc = " \"error\""]
13154 #[doc = " ],"]
13155 #[doc = " \"properties\": {"]
13156 #[doc = " \"error\": {"]
13157 #[doc = " \"$ref\": \"#/components/schemas/RpcError\""]
13158 #[doc = " }"]
13159 #[doc = " }"]
13160 #[doc = " }"]
13161 #[doc = " ],"]
13162 #[doc = " \"required\": ["]
13163 #[doc = " \"id\","]
13164 #[doc = " \"jsonrpc\""]
13165 #[doc = " ],"]
13166 #[doc = " \"properties\": {"]
13167 #[doc = " \"id\": {"]
13168 #[doc = " \"type\": \"string\""]
13169 #[doc = " },"]
13170 #[doc = " \"jsonrpc\": {"]
13171 #[doc = " \"type\": \"string\""]
13172 #[doc = " }"]
13173 #[doc = " }"]
13174 #[doc = "}"]
13175 #[doc = r" ```"]
13176 #[doc = r" </details>"]
13177 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13178 #[serde(untagged)]
13179 pub enum JsonRpcResponseForRpcValidatorResponseAndRpcError {
13180 Variant0 {
13181 id: ::std::string::String,
13182 jsonrpc: ::std::string::String,
13183 result: RpcValidatorResponse,
13184 },
13185 Variant1 {
13186 error: RpcError,
13187 id: ::std::string::String,
13188 jsonrpc: ::std::string::String,
13189 },
13190 }
13191 impl ::std::convert::From<&Self> for JsonRpcResponseForRpcValidatorResponseAndRpcError {
13192 fn from(value: &JsonRpcResponseForRpcValidatorResponseAndRpcError) -> Self {
13193 value.clone()
13194 }
13195 }
13196 #[doc = "Information about a Producer: its account name, peer_id and a list of connected peers that\n the node can use to send message for this producer."]
13197 #[doc = r""]
13198 #[doc = r" <details><summary>JSON schema</summary>"]
13199 #[doc = r""]
13200 #[doc = r" ```json"]
13201 #[doc = "{"]
13202 #[doc = " \"description\": \"Information about a Producer: its account name, peer_id and a list of connected peers that\\n the node can use to send message for this producer.\","]
13203 #[doc = " \"type\": \"object\","]
13204 #[doc = " \"required\": ["]
13205 #[doc = " \"account_id\","]
13206 #[doc = " \"peer_id\""]
13207 #[doc = " ],"]
13208 #[doc = " \"properties\": {"]
13209 #[doc = " \"account_id\": {"]
13210 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
13211 #[doc = " },"]
13212 #[doc = " \"next_hops\": {"]
13213 #[doc = " \"type\": ["]
13214 #[doc = " \"array\","]
13215 #[doc = " \"null\""]
13216 #[doc = " ],"]
13217 #[doc = " \"items\": {"]
13218 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
13219 #[doc = " }"]
13220 #[doc = " },"]
13221 #[doc = " \"peer_id\": {"]
13222 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
13223 #[doc = " }"]
13224 #[doc = " }"]
13225 #[doc = "}"]
13226 #[doc = r" ```"]
13227 #[doc = r" </details>"]
13228 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13229 pub struct KnownProducerView {
13230 pub account_id: AccountId,
13231 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
13232 pub next_hops: ::std::option::Option<::std::vec::Vec<PublicKey>>,
13233 pub peer_id: PublicKey,
13234 }
13235 impl ::std::convert::From<&KnownProducerView> for KnownProducerView {
13236 fn from(value: &KnownProducerView) -> Self {
13237 value.clone()
13238 }
13239 }
13240 #[doc = "`LightClientBlockLiteView`"]
13241 #[doc = r""]
13242 #[doc = r" <details><summary>JSON schema</summary>"]
13243 #[doc = r""]
13244 #[doc = r" ```json"]
13245 #[doc = "{"]
13246 #[doc = " \"type\": \"object\","]
13247 #[doc = " \"required\": ["]
13248 #[doc = " \"inner_lite\","]
13249 #[doc = " \"inner_rest_hash\","]
13250 #[doc = " \"prev_block_hash\""]
13251 #[doc = " ],"]
13252 #[doc = " \"properties\": {"]
13253 #[doc = " \"inner_lite\": {"]
13254 #[doc = " \"$ref\": \"#/components/schemas/BlockHeaderInnerLiteView\""]
13255 #[doc = " },"]
13256 #[doc = " \"inner_rest_hash\": {"]
13257 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
13258 #[doc = " },"]
13259 #[doc = " \"prev_block_hash\": {"]
13260 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
13261 #[doc = " }"]
13262 #[doc = " }"]
13263 #[doc = "}"]
13264 #[doc = r" ```"]
13265 #[doc = r" </details>"]
13266 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13267 pub struct LightClientBlockLiteView {
13268 pub inner_lite: BlockHeaderInnerLiteView,
13269 pub inner_rest_hash: CryptoHash,
13270 pub prev_block_hash: CryptoHash,
13271 }
13272 impl ::std::convert::From<&LightClientBlockLiteView> for LightClientBlockLiteView {
13273 fn from(value: &LightClientBlockLiteView) -> Self {
13274 value.clone()
13275 }
13276 }
13277 #[doc = "Describes limits for VM and Runtime.\n TODO #4139: consider switching to strongly-typed wrappers instead of raw quantities"]
13278 #[doc = r""]
13279 #[doc = r" <details><summary>JSON schema</summary>"]
13280 #[doc = r""]
13281 #[doc = r" ```json"]
13282 #[doc = "{"]
13283 #[doc = " \"description\": \"Describes limits for VM and Runtime.\\n TODO #4139: consider switching to strongly-typed wrappers instead of raw quantities\","]
13284 #[doc = " \"type\": \"object\","]
13285 #[doc = " \"required\": ["]
13286 #[doc = " \"initial_memory_pages\","]
13287 #[doc = " \"max_actions_per_receipt\","]
13288 #[doc = " \"max_arguments_length\","]
13289 #[doc = " \"max_contract_size\","]
13290 #[doc = " \"max_gas_burnt\","]
13291 #[doc = " \"max_length_method_name\","]
13292 #[doc = " \"max_length_returned_data\","]
13293 #[doc = " \"max_length_storage_key\","]
13294 #[doc = " \"max_length_storage_value\","]
13295 #[doc = " \"max_memory_pages\","]
13296 #[doc = " \"max_number_bytes_method_names\","]
13297 #[doc = " \"max_number_input_data_dependencies\","]
13298 #[doc = " \"max_number_logs\","]
13299 #[doc = " \"max_number_registers\","]
13300 #[doc = " \"max_promises_per_function_call_action\","]
13301 #[doc = " \"max_receipt_size\","]
13302 #[doc = " \"max_register_size\","]
13303 #[doc = " \"max_stack_height\","]
13304 #[doc = " \"max_total_log_length\","]
13305 #[doc = " \"max_total_prepaid_gas\","]
13306 #[doc = " \"max_transaction_size\","]
13307 #[doc = " \"max_yield_payload_size\","]
13308 #[doc = " \"per_receipt_storage_proof_size_limit\","]
13309 #[doc = " \"registers_memory_limit\","]
13310 #[doc = " \"yield_timeout_length_in_blocks\""]
13311 #[doc = " ],"]
13312 #[doc = " \"properties\": {"]
13313 #[doc = " \"account_id_validity_rules_version\": {"]
13314 #[doc = " \"description\": \"Whether to enforce account_id well-formed-ness where it wasn't enforced\\n historically.\","]
13315 #[doc = " \"default\": 0,"]
13316 #[doc = " \"allOf\": ["]
13317 #[doc = " {"]
13318 #[doc = " \"$ref\": \"#/components/schemas/AccountIdValidityRulesVersion\""]
13319 #[doc = " }"]
13320 #[doc = " ]"]
13321 #[doc = " },"]
13322 #[doc = " \"initial_memory_pages\": {"]
13323 #[doc = " \"description\": \"The initial number of memory pages.\\n NOTE: It's not a limiter itself, but it's a value we use for initial_memory_pages.\","]
13324 #[doc = " \"type\": \"integer\","]
13325 #[doc = " \"format\": \"uint32\","]
13326 #[doc = " \"minimum\": 0.0"]
13327 #[doc = " },"]
13328 #[doc = " \"max_actions_per_receipt\": {"]
13329 #[doc = " \"description\": \"Max number of actions per receipt.\","]
13330 #[doc = " \"type\": \"integer\","]
13331 #[doc = " \"format\": \"uint64\","]
13332 #[doc = " \"minimum\": 0.0"]
13333 #[doc = " },"]
13334 #[doc = " \"max_arguments_length\": {"]
13335 #[doc = " \"description\": \"Max length of arguments in a function call action.\","]
13336 #[doc = " \"type\": \"integer\","]
13337 #[doc = " \"format\": \"uint64\","]
13338 #[doc = " \"minimum\": 0.0"]
13339 #[doc = " },"]
13340 #[doc = " \"max_contract_size\": {"]
13341 #[doc = " \"description\": \"Max contract size\","]
13342 #[doc = " \"type\": \"integer\","]
13343 #[doc = " \"format\": \"uint64\","]
13344 #[doc = " \"minimum\": 0.0"]
13345 #[doc = " },"]
13346 #[doc = " \"max_functions_number_per_contract\": {"]
13347 #[doc = " \"description\": \"If present, stores max number of functions in one contract\","]
13348 #[doc = " \"type\": ["]
13349 #[doc = " \"integer\","]
13350 #[doc = " \"null\""]
13351 #[doc = " ],"]
13352 #[doc = " \"format\": \"uint64\","]
13353 #[doc = " \"minimum\": 0.0"]
13354 #[doc = " },"]
13355 #[doc = " \"max_gas_burnt\": {"]
13356 #[doc = " \"description\": \"Max amount of gas that can be used, excluding gas attached to promises.\","]
13357 #[doc = " \"type\": \"integer\","]
13358 #[doc = " \"format\": \"uint64\","]
13359 #[doc = " \"minimum\": 0.0"]
13360 #[doc = " },"]
13361 #[doc = " \"max_length_method_name\": {"]
13362 #[doc = " \"description\": \"Max length of any method name (without terminating character).\","]
13363 #[doc = " \"type\": \"integer\","]
13364 #[doc = " \"format\": \"uint64\","]
13365 #[doc = " \"minimum\": 0.0"]
13366 #[doc = " },"]
13367 #[doc = " \"max_length_returned_data\": {"]
13368 #[doc = " \"description\": \"Max length of returned data\","]
13369 #[doc = " \"type\": \"integer\","]
13370 #[doc = " \"format\": \"uint64\","]
13371 #[doc = " \"minimum\": 0.0"]
13372 #[doc = " },"]
13373 #[doc = " \"max_length_storage_key\": {"]
13374 #[doc = " \"description\": \"Max storage key size\","]
13375 #[doc = " \"type\": \"integer\","]
13376 #[doc = " \"format\": \"uint64\","]
13377 #[doc = " \"minimum\": 0.0"]
13378 #[doc = " },"]
13379 #[doc = " \"max_length_storage_value\": {"]
13380 #[doc = " \"description\": \"Max storage value size\","]
13381 #[doc = " \"type\": \"integer\","]
13382 #[doc = " \"format\": \"uint64\","]
13383 #[doc = " \"minimum\": 0.0"]
13384 #[doc = " },"]
13385 #[doc = " \"max_locals_per_contract\": {"]
13386 #[doc = " \"description\": \"If present, stores max number of locals declared globally in one contract\","]
13387 #[doc = " \"type\": ["]
13388 #[doc = " \"integer\","]
13389 #[doc = " \"null\""]
13390 #[doc = " ],"]
13391 #[doc = " \"format\": \"uint64\","]
13392 #[doc = " \"minimum\": 0.0"]
13393 #[doc = " },"]
13394 #[doc = " \"max_memory_pages\": {"]
13395 #[doc = " \"description\": \"What is the maximal memory pages amount is allowed to have for a contract.\","]
13396 #[doc = " \"type\": \"integer\","]
13397 #[doc = " \"format\": \"uint32\","]
13398 #[doc = " \"minimum\": 0.0"]
13399 #[doc = " },"]
13400 #[doc = " \"max_number_bytes_method_names\": {"]
13401 #[doc = " \"description\": \"Max total length of all method names (including terminating character) for a function call\\n permission access key.\","]
13402 #[doc = " \"type\": \"integer\","]
13403 #[doc = " \"format\": \"uint64\","]
13404 #[doc = " \"minimum\": 0.0"]
13405 #[doc = " },"]
13406 #[doc = " \"max_number_input_data_dependencies\": {"]
13407 #[doc = " \"description\": \"Max number of input data dependencies\","]
13408 #[doc = " \"type\": \"integer\","]
13409 #[doc = " \"format\": \"uint64\","]
13410 #[doc = " \"minimum\": 0.0"]
13411 #[doc = " },"]
13412 #[doc = " \"max_number_logs\": {"]
13413 #[doc = " \"description\": \"Maximum number of log entries.\","]
13414 #[doc = " \"type\": \"integer\","]
13415 #[doc = " \"format\": \"uint64\","]
13416 #[doc = " \"minimum\": 0.0"]
13417 #[doc = " },"]
13418 #[doc = " \"max_number_registers\": {"]
13419 #[doc = " \"description\": \"Maximum number of registers that can be used simultaneously.\\n\\n Note that due to an implementation quirk [read: a bug] in VMLogic, if we\\n have this number of registers, no subsequent writes to the registers\\n will succeed even if they replace an existing register.\","]
13420 #[doc = " \"type\": \"integer\","]
13421 #[doc = " \"format\": \"uint64\","]
13422 #[doc = " \"minimum\": 0.0"]
13423 #[doc = " },"]
13424 #[doc = " \"max_promises_per_function_call_action\": {"]
13425 #[doc = " \"description\": \"Max number of promises that a function call can create\","]
13426 #[doc = " \"type\": \"integer\","]
13427 #[doc = " \"format\": \"uint64\","]
13428 #[doc = " \"minimum\": 0.0"]
13429 #[doc = " },"]
13430 #[doc = " \"max_receipt_size\": {"]
13431 #[doc = " \"description\": \"Max receipt size\","]
13432 #[doc = " \"type\": \"integer\","]
13433 #[doc = " \"format\": \"uint64\","]
13434 #[doc = " \"minimum\": 0.0"]
13435 #[doc = " },"]
13436 #[doc = " \"max_register_size\": {"]
13437 #[doc = " \"description\": \"Maximum number of bytes that can be stored in a single register.\","]
13438 #[doc = " \"type\": \"integer\","]
13439 #[doc = " \"format\": \"uint64\","]
13440 #[doc = " \"minimum\": 0.0"]
13441 #[doc = " },"]
13442 #[doc = " \"max_stack_height\": {"]
13443 #[doc = " \"description\": \"How tall the stack is allowed to grow?\\n\\n See <https://wiki.parity.io/WebAssembly-StackHeight> to find out how the stack frame cost\\n is calculated.\","]
13444 #[doc = " \"type\": \"integer\","]
13445 #[doc = " \"format\": \"uint32\","]
13446 #[doc = " \"minimum\": 0.0"]
13447 #[doc = " },"]
13448 #[doc = " \"max_total_log_length\": {"]
13449 #[doc = " \"description\": \"Maximum total length in bytes of all log messages.\","]
13450 #[doc = " \"type\": \"integer\","]
13451 #[doc = " \"format\": \"uint64\","]
13452 #[doc = " \"minimum\": 0.0"]
13453 #[doc = " },"]
13454 #[doc = " \"max_total_prepaid_gas\": {"]
13455 #[doc = " \"description\": \"Max total prepaid gas for all function call actions per receipt.\","]
13456 #[doc = " \"type\": \"integer\","]
13457 #[doc = " \"format\": \"uint64\","]
13458 #[doc = " \"minimum\": 0.0"]
13459 #[doc = " },"]
13460 #[doc = " \"max_transaction_size\": {"]
13461 #[doc = " \"description\": \"Max transaction size\","]
13462 #[doc = " \"type\": \"integer\","]
13463 #[doc = " \"format\": \"uint64\","]
13464 #[doc = " \"minimum\": 0.0"]
13465 #[doc = " },"]
13466 #[doc = " \"max_yield_payload_size\": {"]
13467 #[doc = " \"description\": \"Maximum number of bytes for payload passed over a yield resume.\","]
13468 #[doc = " \"type\": \"integer\","]
13469 #[doc = " \"format\": \"uint64\","]
13470 #[doc = " \"minimum\": 0.0"]
13471 #[doc = " },"]
13472 #[doc = " \"per_receipt_storage_proof_size_limit\": {"]
13473 #[doc = " \"description\": \"Hard limit on the size of storage proof generated while executing a single receipt.\","]
13474 #[doc = " \"type\": \"integer\","]
13475 #[doc = " \"format\": \"uint\","]
13476 #[doc = " \"minimum\": 0.0"]
13477 #[doc = " },"]
13478 #[doc = " \"registers_memory_limit\": {"]
13479 #[doc = " \"description\": \"Limit of memory used by registers.\","]
13480 #[doc = " \"type\": \"integer\","]
13481 #[doc = " \"format\": \"uint64\","]
13482 #[doc = " \"minimum\": 0.0"]
13483 #[doc = " },"]
13484 #[doc = " \"yield_timeout_length_in_blocks\": {"]
13485 #[doc = " \"description\": \"Number of blocks after which a yielded promise times out.\","]
13486 #[doc = " \"type\": \"integer\","]
13487 #[doc = " \"format\": \"uint64\","]
13488 #[doc = " \"minimum\": 0.0"]
13489 #[doc = " }"]
13490 #[doc = " }"]
13491 #[doc = "}"]
13492 #[doc = r" ```"]
13493 #[doc = r" </details>"]
13494 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13495 pub struct LimitConfig {
13496 #[doc = "Whether to enforce account_id well-formed-ness where it wasn't enforced\n historically."]
13497 #[serde(default = "defaults::limit_config_account_id_validity_rules_version")]
13498 pub account_id_validity_rules_version: AccountIdValidityRulesVersion,
13499 #[doc = "The initial number of memory pages.\n NOTE: It's not a limiter itself, but it's a value we use for initial_memory_pages."]
13500 pub initial_memory_pages: u32,
13501 #[doc = "Max number of actions per receipt."]
13502 pub max_actions_per_receipt: u64,
13503 #[doc = "Max length of arguments in a function call action."]
13504 pub max_arguments_length: u64,
13505 #[doc = "Max contract size"]
13506 pub max_contract_size: u64,
13507 #[doc = "If present, stores max number of functions in one contract"]
13508 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
13509 pub max_functions_number_per_contract: ::std::option::Option<u64>,
13510 #[doc = "Max amount of gas that can be used, excluding gas attached to promises."]
13511 pub max_gas_burnt: u64,
13512 #[doc = "Max length of any method name (without terminating character)."]
13513 pub max_length_method_name: u64,
13514 #[doc = "Max length of returned data"]
13515 pub max_length_returned_data: u64,
13516 #[doc = "Max storage key size"]
13517 pub max_length_storage_key: u64,
13518 #[doc = "Max storage value size"]
13519 pub max_length_storage_value: u64,
13520 #[doc = "If present, stores max number of locals declared globally in one contract"]
13521 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
13522 pub max_locals_per_contract: ::std::option::Option<u64>,
13523 #[doc = "What is the maximal memory pages amount is allowed to have for a contract."]
13524 pub max_memory_pages: u32,
13525 #[doc = "Max total length of all method names (including terminating character) for a function call\n permission access key."]
13526 pub max_number_bytes_method_names: u64,
13527 #[doc = "Max number of input data dependencies"]
13528 pub max_number_input_data_dependencies: u64,
13529 #[doc = "Maximum number of log entries."]
13530 pub max_number_logs: u64,
13531 #[doc = "Maximum number of registers that can be used simultaneously.\n\n Note that due to an implementation quirk [read: a bug] in VMLogic, if we\n have this number of registers, no subsequent writes to the registers\n will succeed even if they replace an existing register."]
13532 pub max_number_registers: u64,
13533 #[doc = "Max number of promises that a function call can create"]
13534 pub max_promises_per_function_call_action: u64,
13535 #[doc = "Max receipt size"]
13536 pub max_receipt_size: u64,
13537 #[doc = "Maximum number of bytes that can be stored in a single register."]
13538 pub max_register_size: u64,
13539 #[doc = "How tall the stack is allowed to grow?\n\n See <https://wiki.parity.io/WebAssembly-StackHeight> to find out how the stack frame cost\n is calculated."]
13540 pub max_stack_height: u32,
13541 #[doc = "Maximum total length in bytes of all log messages."]
13542 pub max_total_log_length: u64,
13543 #[doc = "Max total prepaid gas for all function call actions per receipt."]
13544 pub max_total_prepaid_gas: u64,
13545 #[doc = "Max transaction size"]
13546 pub max_transaction_size: u64,
13547 #[doc = "Maximum number of bytes for payload passed over a yield resume."]
13548 pub max_yield_payload_size: u64,
13549 #[doc = "Hard limit on the size of storage proof generated while executing a single receipt."]
13550 pub per_receipt_storage_proof_size_limit: u32,
13551 #[doc = "Limit of memory used by registers."]
13552 pub registers_memory_limit: u64,
13553 #[doc = "Number of blocks after which a yielded promise times out."]
13554 pub yield_timeout_length_in_blocks: u64,
13555 }
13556 impl ::std::convert::From<&LimitConfig> for LimitConfig {
13557 fn from(value: &LimitConfig) -> Self {
13558 value.clone()
13559 }
13560 }
13561 #[doc = "`LogSummaryStyle`"]
13562 #[doc = r""]
13563 #[doc = r" <details><summary>JSON schema</summary>"]
13564 #[doc = r""]
13565 #[doc = r" ```json"]
13566 #[doc = "{"]
13567 #[doc = " \"type\": \"string\","]
13568 #[doc = " \"enum\": ["]
13569 #[doc = " \"plain\","]
13570 #[doc = " \"colored\""]
13571 #[doc = " ]"]
13572 #[doc = "}"]
13573 #[doc = r" ```"]
13574 #[doc = r" </details>"]
13575 #[derive(
13576 :: serde :: Deserialize,
13577 :: serde :: Serialize,
13578 Clone,
13579 Copy,
13580 Debug,
13581 Eq,
13582 Hash,
13583 Ord,
13584 PartialEq,
13585 PartialOrd,
13586 )]
13587 pub enum LogSummaryStyle {
13588 #[serde(rename = "plain")]
13589 Plain,
13590 #[serde(rename = "colored")]
13591 Colored,
13592 }
13593 impl ::std::convert::From<&Self> for LogSummaryStyle {
13594 fn from(value: &LogSummaryStyle) -> Self {
13595 value.clone()
13596 }
13597 }
13598 impl ::std::fmt::Display for LogSummaryStyle {
13599 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13600 match *self {
13601 Self::Plain => write!(f, "plain"),
13602 Self::Colored => write!(f, "colored"),
13603 }
13604 }
13605 }
13606 impl ::std::str::FromStr for LogSummaryStyle {
13607 type Err = self::error::ConversionError;
13608 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13609 match value {
13610 "plain" => Ok(Self::Plain),
13611 "colored" => Ok(Self::Colored),
13612 _ => Err("invalid value".into()),
13613 }
13614 }
13615 }
13616 impl ::std::convert::TryFrom<&str> for LogSummaryStyle {
13617 type Error = self::error::ConversionError;
13618 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13619 value.parse()
13620 }
13621 }
13622 impl ::std::convert::TryFrom<&::std::string::String> for LogSummaryStyle {
13623 type Error = self::error::ConversionError;
13624 fn try_from(
13625 value: &::std::string::String,
13626 ) -> ::std::result::Result<Self, self::error::ConversionError> {
13627 value.parse()
13628 }
13629 }
13630 impl ::std::convert::TryFrom<::std::string::String> for LogSummaryStyle {
13631 type Error = self::error::ConversionError;
13632 fn try_from(
13633 value: ::std::string::String,
13634 ) -> ::std::result::Result<Self, self::error::ConversionError> {
13635 value.parse()
13636 }
13637 }
13638 #[doc = "`MerklePathItem`"]
13639 #[doc = r""]
13640 #[doc = r" <details><summary>JSON schema</summary>"]
13641 #[doc = r""]
13642 #[doc = r" ```json"]
13643 #[doc = "{"]
13644 #[doc = " \"type\": \"object\","]
13645 #[doc = " \"required\": ["]
13646 #[doc = " \"direction\","]
13647 #[doc = " \"hash\""]
13648 #[doc = " ],"]
13649 #[doc = " \"properties\": {"]
13650 #[doc = " \"direction\": {"]
13651 #[doc = " \"$ref\": \"#/components/schemas/Direction\""]
13652 #[doc = " },"]
13653 #[doc = " \"hash\": {"]
13654 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
13655 #[doc = " }"]
13656 #[doc = " }"]
13657 #[doc = "}"]
13658 #[doc = r" ```"]
13659 #[doc = r" </details>"]
13660 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13661 pub struct MerklePathItem {
13662 pub direction: Direction,
13663 pub hash: CryptoHash,
13664 }
13665 impl ::std::convert::From<&MerklePathItem> for MerklePathItem {
13666 fn from(value: &MerklePathItem) -> Self {
13667 value.clone()
13668 }
13669 }
13670 #[doc = "`MethodResolveError`"]
13671 #[doc = r""]
13672 #[doc = r" <details><summary>JSON schema</summary>"]
13673 #[doc = r""]
13674 #[doc = r" ```json"]
13675 #[doc = "{"]
13676 #[doc = " \"type\": \"string\","]
13677 #[doc = " \"enum\": ["]
13678 #[doc = " \"MethodEmptyName\","]
13679 #[doc = " \"MethodNotFound\","]
13680 #[doc = " \"MethodInvalidSignature\""]
13681 #[doc = " ]"]
13682 #[doc = "}"]
13683 #[doc = r" ```"]
13684 #[doc = r" </details>"]
13685 #[derive(
13686 :: serde :: Deserialize,
13687 :: serde :: Serialize,
13688 Clone,
13689 Copy,
13690 Debug,
13691 Eq,
13692 Hash,
13693 Ord,
13694 PartialEq,
13695 PartialOrd,
13696 )]
13697 pub enum MethodResolveError {
13698 MethodEmptyName,
13699 MethodNotFound,
13700 MethodInvalidSignature,
13701 }
13702 impl ::std::convert::From<&Self> for MethodResolveError {
13703 fn from(value: &MethodResolveError) -> Self {
13704 value.clone()
13705 }
13706 }
13707 impl ::std::fmt::Display for MethodResolveError {
13708 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13709 match *self {
13710 Self::MethodEmptyName => write!(f, "MethodEmptyName"),
13711 Self::MethodNotFound => write!(f, "MethodNotFound"),
13712 Self::MethodInvalidSignature => write!(f, "MethodInvalidSignature"),
13713 }
13714 }
13715 }
13716 impl ::std::str::FromStr for MethodResolveError {
13717 type Err = self::error::ConversionError;
13718 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13719 match value {
13720 "MethodEmptyName" => Ok(Self::MethodEmptyName),
13721 "MethodNotFound" => Ok(Self::MethodNotFound),
13722 "MethodInvalidSignature" => Ok(Self::MethodInvalidSignature),
13723 _ => Err("invalid value".into()),
13724 }
13725 }
13726 }
13727 impl ::std::convert::TryFrom<&str> for MethodResolveError {
13728 type Error = self::error::ConversionError;
13729 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13730 value.parse()
13731 }
13732 }
13733 impl ::std::convert::TryFrom<&::std::string::String> for MethodResolveError {
13734 type Error = self::error::ConversionError;
13735 fn try_from(
13736 value: &::std::string::String,
13737 ) -> ::std::result::Result<Self, self::error::ConversionError> {
13738 value.parse()
13739 }
13740 }
13741 impl ::std::convert::TryFrom<::std::string::String> for MethodResolveError {
13742 type Error = self::error::ConversionError;
13743 fn try_from(
13744 value: ::std::string::String,
13745 ) -> ::std::result::Result<Self, self::error::ConversionError> {
13746 value.parse()
13747 }
13748 }
13749 #[doc = "`MissingTrieValue`"]
13750 #[doc = r""]
13751 #[doc = r" <details><summary>JSON schema</summary>"]
13752 #[doc = r""]
13753 #[doc = r" ```json"]
13754 #[doc = "{"]
13755 #[doc = " \"type\": \"object\","]
13756 #[doc = " \"required\": ["]
13757 #[doc = " \"context\","]
13758 #[doc = " \"hash\""]
13759 #[doc = " ],"]
13760 #[doc = " \"properties\": {"]
13761 #[doc = " \"context\": {"]
13762 #[doc = " \"$ref\": \"#/components/schemas/MissingTrieValueContext\""]
13763 #[doc = " },"]
13764 #[doc = " \"hash\": {"]
13765 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
13766 #[doc = " }"]
13767 #[doc = " }"]
13768 #[doc = "}"]
13769 #[doc = r" ```"]
13770 #[doc = r" </details>"]
13771 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
13772 pub struct MissingTrieValue {
13773 pub context: MissingTrieValueContext,
13774 pub hash: CryptoHash,
13775 }
13776 impl ::std::convert::From<&MissingTrieValue> for MissingTrieValue {
13777 fn from(value: &MissingTrieValue) -> Self {
13778 value.clone()
13779 }
13780 }
13781 #[doc = "Contexts in which `StorageError::MissingTrieValue` error might occur."]
13782 #[doc = r""]
13783 #[doc = r" <details><summary>JSON schema</summary>"]
13784 #[doc = r""]
13785 #[doc = r" ```json"]
13786 #[doc = "{"]
13787 #[doc = " \"description\": \"Contexts in which `StorageError::MissingTrieValue` error might occur.\","]
13788 #[doc = " \"oneOf\": ["]
13789 #[doc = " {"]
13790 #[doc = " \"description\": \"Missing trie value when reading from TrieIterator.\","]
13791 #[doc = " \"type\": \"string\","]
13792 #[doc = " \"enum\": ["]
13793 #[doc = " \"TrieIterator\""]
13794 #[doc = " ]"]
13795 #[doc = " },"]
13796 #[doc = " {"]
13797 #[doc = " \"description\": \"Missing trie value when reading from TriePrefetchingStorage.\","]
13798 #[doc = " \"type\": \"string\","]
13799 #[doc = " \"enum\": ["]
13800 #[doc = " \"TriePrefetchingStorage\""]
13801 #[doc = " ]"]
13802 #[doc = " },"]
13803 #[doc = " {"]
13804 #[doc = " \"description\": \"Missing trie value when reading from TrieMemoryPartialStorage.\","]
13805 #[doc = " \"type\": \"string\","]
13806 #[doc = " \"enum\": ["]
13807 #[doc = " \"TrieMemoryPartialStorage\""]
13808 #[doc = " ]"]
13809 #[doc = " },"]
13810 #[doc = " {"]
13811 #[doc = " \"description\": \"Missing trie value when reading from TrieStorage.\","]
13812 #[doc = " \"type\": \"string\","]
13813 #[doc = " \"enum\": ["]
13814 #[doc = " \"TrieStorage\""]
13815 #[doc = " ]"]
13816 #[doc = " }"]
13817 #[doc = " ]"]
13818 #[doc = "}"]
13819 #[doc = r" ```"]
13820 #[doc = r" </details>"]
13821 #[derive(
13822 :: serde :: Deserialize,
13823 :: serde :: Serialize,
13824 Clone,
13825 Copy,
13826 Debug,
13827 Eq,
13828 Hash,
13829 Ord,
13830 PartialEq,
13831 PartialOrd,
13832 )]
13833 pub enum MissingTrieValueContext {
13834 #[doc = "Missing trie value when reading from TrieIterator."]
13835 TrieIterator,
13836 #[doc = "Missing trie value when reading from TriePrefetchingStorage."]
13837 TriePrefetchingStorage,
13838 #[doc = "Missing trie value when reading from TrieMemoryPartialStorage."]
13839 TrieMemoryPartialStorage,
13840 #[doc = "Missing trie value when reading from TrieStorage."]
13841 TrieStorage,
13842 }
13843 impl ::std::convert::From<&Self> for MissingTrieValueContext {
13844 fn from(value: &MissingTrieValueContext) -> Self {
13845 value.clone()
13846 }
13847 }
13848 impl ::std::fmt::Display for MissingTrieValueContext {
13849 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13850 match *self {
13851 Self::TrieIterator => write!(f, "TrieIterator"),
13852 Self::TriePrefetchingStorage => write!(f, "TriePrefetchingStorage"),
13853 Self::TrieMemoryPartialStorage => write!(f, "TrieMemoryPartialStorage"),
13854 Self::TrieStorage => write!(f, "TrieStorage"),
13855 }
13856 }
13857 }
13858 impl ::std::str::FromStr for MissingTrieValueContext {
13859 type Err = self::error::ConversionError;
13860 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13861 match value {
13862 "TrieIterator" => Ok(Self::TrieIterator),
13863 "TriePrefetchingStorage" => Ok(Self::TriePrefetchingStorage),
13864 "TrieMemoryPartialStorage" => Ok(Self::TrieMemoryPartialStorage),
13865 "TrieStorage" => Ok(Self::TrieStorage),
13866 _ => Err("invalid value".into()),
13867 }
13868 }
13869 }
13870 impl ::std::convert::TryFrom<&str> for MissingTrieValueContext {
13871 type Error = self::error::ConversionError;
13872 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13873 value.parse()
13874 }
13875 }
13876 impl ::std::convert::TryFrom<&::std::string::String> for MissingTrieValueContext {
13877 type Error = self::error::ConversionError;
13878 fn try_from(
13879 value: &::std::string::String,
13880 ) -> ::std::result::Result<Self, self::error::ConversionError> {
13881 value.parse()
13882 }
13883 }
13884 impl ::std::convert::TryFrom<::std::string::String> for MissingTrieValueContext {
13885 type Error = self::error::ConversionError;
13886 fn try_from(
13887 value: ::std::string::String,
13888 ) -> ::std::result::Result<Self, self::error::ConversionError> {
13889 value.parse()
13890 }
13891 }
13892 #[doc = "`MutableConfigValue`"]
13893 #[doc = r""]
13894 #[doc = r" <details><summary>JSON schema</summary>"]
13895 #[doc = r""]
13896 #[doc = r" ```json"]
13897 #[doc = "{"]
13898 #[doc = " \"type\": \"string\""]
13899 #[doc = "}"]
13900 #[doc = r" ```"]
13901 #[doc = r" </details>"]
13902 #[derive(
13903 :: serde :: Deserialize,
13904 :: serde :: Serialize,
13905 Clone,
13906 Debug,
13907 Eq,
13908 Hash,
13909 Ord,
13910 PartialEq,
13911 PartialOrd,
13912 )]
13913 #[serde(transparent)]
13914 pub struct MutableConfigValue(pub ::std::string::String);
13915 impl ::std::ops::Deref for MutableConfigValue {
13916 type Target = ::std::string::String;
13917 fn deref(&self) -> &::std::string::String {
13918 &self.0
13919 }
13920 }
13921 impl ::std::convert::From<MutableConfigValue> for ::std::string::String {
13922 fn from(value: MutableConfigValue) -> Self {
13923 value.0
13924 }
13925 }
13926 impl ::std::convert::From<&MutableConfigValue> for MutableConfigValue {
13927 fn from(value: &MutableConfigValue) -> Self {
13928 value.clone()
13929 }
13930 }
13931 impl ::std::convert::From<::std::string::String> for MutableConfigValue {
13932 fn from(value: ::std::string::String) -> Self {
13933 Self(value)
13934 }
13935 }
13936 impl ::std::str::FromStr for MutableConfigValue {
13937 type Err = ::std::convert::Infallible;
13938 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
13939 Ok(Self(value.to_string()))
13940 }
13941 }
13942 impl ::std::fmt::Display for MutableConfigValue {
13943 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13944 self.0.fmt(f)
13945 }
13946 }
13947 #[doc = "`NameRpcErrorKind`"]
13948 #[doc = r""]
13949 #[doc = r" <details><summary>JSON schema</summary>"]
13950 #[doc = r""]
13951 #[doc = r" ```json"]
13952 #[doc = "{"]
13953 #[doc = " \"type\": \"string\","]
13954 #[doc = " \"enum\": ["]
13955 #[doc = " \"REQUEST_VALIDATION_ERROR\","]
13956 #[doc = " \"HANDLER_ERROR\","]
13957 #[doc = " \"INTERNAL_ERROR\""]
13958 #[doc = " ]"]
13959 #[doc = "}"]
13960 #[doc = r" ```"]
13961 #[doc = r" </details>"]
13962 #[derive(
13963 :: serde :: Deserialize,
13964 :: serde :: Serialize,
13965 Clone,
13966 Copy,
13967 Debug,
13968 Eq,
13969 Hash,
13970 Ord,
13971 PartialEq,
13972 PartialOrd,
13973 )]
13974 pub enum NameRpcErrorKind {
13975 #[serde(rename = "REQUEST_VALIDATION_ERROR")]
13976 RequestValidationError,
13977 #[serde(rename = "HANDLER_ERROR")]
13978 HandlerError,
13979 #[serde(rename = "INTERNAL_ERROR")]
13980 InternalError,
13981 }
13982 impl ::std::convert::From<&Self> for NameRpcErrorKind {
13983 fn from(value: &NameRpcErrorKind) -> Self {
13984 value.clone()
13985 }
13986 }
13987 impl ::std::fmt::Display for NameRpcErrorKind {
13988 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13989 match *self {
13990 Self::RequestValidationError => write!(f, "REQUEST_VALIDATION_ERROR"),
13991 Self::HandlerError => write!(f, "HANDLER_ERROR"),
13992 Self::InternalError => write!(f, "INTERNAL_ERROR"),
13993 }
13994 }
13995 }
13996 impl ::std::str::FromStr for NameRpcErrorKind {
13997 type Err = self::error::ConversionError;
13998 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
13999 match value {
14000 "REQUEST_VALIDATION_ERROR" => Ok(Self::RequestValidationError),
14001 "HANDLER_ERROR" => Ok(Self::HandlerError),
14002 "INTERNAL_ERROR" => Ok(Self::InternalError),
14003 _ => Err("invalid value".into()),
14004 }
14005 }
14006 }
14007 impl ::std::convert::TryFrom<&str> for NameRpcErrorKind {
14008 type Error = self::error::ConversionError;
14009 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
14010 value.parse()
14011 }
14012 }
14013 impl ::std::convert::TryFrom<&::std::string::String> for NameRpcErrorKind {
14014 type Error = self::error::ConversionError;
14015 fn try_from(
14016 value: &::std::string::String,
14017 ) -> ::std::result::Result<Self, self::error::ConversionError> {
14018 value.parse()
14019 }
14020 }
14021 impl ::std::convert::TryFrom<::std::string::String> for NameRpcErrorKind {
14022 type Error = self::error::ConversionError;
14023 fn try_from(
14024 value: ::std::string::String,
14025 ) -> ::std::result::Result<Self, self::error::ConversionError> {
14026 value.parse()
14027 }
14028 }
14029 #[doc = "`NetworkInfoView`"]
14030 #[doc = r""]
14031 #[doc = r" <details><summary>JSON schema</summary>"]
14032 #[doc = r""]
14033 #[doc = r" ```json"]
14034 #[doc = "{"]
14035 #[doc = " \"type\": \"object\","]
14036 #[doc = " \"required\": ["]
14037 #[doc = " \"connected_peers\","]
14038 #[doc = " \"known_producers\","]
14039 #[doc = " \"num_connected_peers\","]
14040 #[doc = " \"peer_max_count\","]
14041 #[doc = " \"tier1_accounts_data\","]
14042 #[doc = " \"tier1_accounts_keys\","]
14043 #[doc = " \"tier1_connections\""]
14044 #[doc = " ],"]
14045 #[doc = " \"properties\": {"]
14046 #[doc = " \"connected_peers\": {"]
14047 #[doc = " \"type\": \"array\","]
14048 #[doc = " \"items\": {"]
14049 #[doc = " \"$ref\": \"#/components/schemas/PeerInfoView\""]
14050 #[doc = " }"]
14051 #[doc = " },"]
14052 #[doc = " \"known_producers\": {"]
14053 #[doc = " \"type\": \"array\","]
14054 #[doc = " \"items\": {"]
14055 #[doc = " \"$ref\": \"#/components/schemas/KnownProducerView\""]
14056 #[doc = " }"]
14057 #[doc = " },"]
14058 #[doc = " \"num_connected_peers\": {"]
14059 #[doc = " \"type\": \"integer\","]
14060 #[doc = " \"format\": \"uint\","]
14061 #[doc = " \"minimum\": 0.0"]
14062 #[doc = " },"]
14063 #[doc = " \"peer_max_count\": {"]
14064 #[doc = " \"type\": \"integer\","]
14065 #[doc = " \"format\": \"uint32\","]
14066 #[doc = " \"minimum\": 0.0"]
14067 #[doc = " },"]
14068 #[doc = " \"tier1_accounts_data\": {"]
14069 #[doc = " \"type\": \"array\","]
14070 #[doc = " \"items\": {"]
14071 #[doc = " \"$ref\": \"#/components/schemas/AccountDataView\""]
14072 #[doc = " }"]
14073 #[doc = " },"]
14074 #[doc = " \"tier1_accounts_keys\": {"]
14075 #[doc = " \"type\": \"array\","]
14076 #[doc = " \"items\": {"]
14077 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
14078 #[doc = " }"]
14079 #[doc = " },"]
14080 #[doc = " \"tier1_connections\": {"]
14081 #[doc = " \"type\": \"array\","]
14082 #[doc = " \"items\": {"]
14083 #[doc = " \"$ref\": \"#/components/schemas/PeerInfoView\""]
14084 #[doc = " }"]
14085 #[doc = " }"]
14086 #[doc = " }"]
14087 #[doc = "}"]
14088 #[doc = r" ```"]
14089 #[doc = r" </details>"]
14090 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14091 pub struct NetworkInfoView {
14092 pub connected_peers: ::std::vec::Vec<PeerInfoView>,
14093 pub known_producers: ::std::vec::Vec<KnownProducerView>,
14094 pub num_connected_peers: u32,
14095 pub peer_max_count: u32,
14096 pub tier1_accounts_data: ::std::vec::Vec<AccountDataView>,
14097 pub tier1_accounts_keys: ::std::vec::Vec<PublicKey>,
14098 pub tier1_connections: ::std::vec::Vec<PeerInfoView>,
14099 }
14100 impl ::std::convert::From<&NetworkInfoView> for NetworkInfoView {
14101 fn from(value: &NetworkInfoView) -> Self {
14102 value.clone()
14103 }
14104 }
14105 #[doc = "`NextEpochValidatorInfo`"]
14106 #[doc = r""]
14107 #[doc = r" <details><summary>JSON schema</summary>"]
14108 #[doc = r""]
14109 #[doc = r" ```json"]
14110 #[doc = "{"]
14111 #[doc = " \"type\": \"object\","]
14112 #[doc = " \"required\": ["]
14113 #[doc = " \"account_id\","]
14114 #[doc = " \"public_key\","]
14115 #[doc = " \"shards\","]
14116 #[doc = " \"stake\""]
14117 #[doc = " ],"]
14118 #[doc = " \"properties\": {"]
14119 #[doc = " \"account_id\": {"]
14120 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
14121 #[doc = " },"]
14122 #[doc = " \"public_key\": {"]
14123 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
14124 #[doc = " },"]
14125 #[doc = " \"shards\": {"]
14126 #[doc = " \"type\": \"array\","]
14127 #[doc = " \"items\": {"]
14128 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
14129 #[doc = " }"]
14130 #[doc = " },"]
14131 #[doc = " \"stake\": {"]
14132 #[doc = " \"type\": \"string\""]
14133 #[doc = " }"]
14134 #[doc = " }"]
14135 #[doc = "}"]
14136 #[doc = r" ```"]
14137 #[doc = r" </details>"]
14138 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14139 pub struct NextEpochValidatorInfo {
14140 pub account_id: AccountId,
14141 pub public_key: PublicKey,
14142 pub shards: ::std::vec::Vec<ShardId>,
14143 pub stake: ::std::string::String,
14144 }
14145 impl ::std::convert::From<&NextEpochValidatorInfo> for NextEpochValidatorInfo {
14146 fn from(value: &NextEpochValidatorInfo) -> Self {
14147 value.clone()
14148 }
14149 }
14150 #[doc = "This is Action which mustn't contain DelegateAction.\n\n This struct is needed to avoid the recursion when Action/DelegateAction is deserialized.\n\n Important: Don't make the inner Action public, this must only be constructed\n through the correct interface that ensures the inner Action is actually not\n a delegate action. That would break an assumption of this type, which we use\n in several places. For example, borsh de-/serialization relies on it. If the\n invariant is broken, we may end up with a `Transaction` or `Receipt` that we\n can serialize but deserializing it back causes a parsing error."]
14151 #[doc = r""]
14152 #[doc = r" <details><summary>JSON schema</summary>"]
14153 #[doc = r""]
14154 #[doc = r" ```json"]
14155 #[doc = "{"]
14156 #[doc = " \"description\": \"This is Action which mustn't contain DelegateAction.\\n\\n This struct is needed to avoid the recursion when Action/DelegateAction is deserialized.\\n\\n Important: Don't make the inner Action public, this must only be constructed\\n through the correct interface that ensures the inner Action is actually not\\n a delegate action. That would break an assumption of this type, which we use\\n in several places. For example, borsh de-/serialization relies on it. If the\\n invariant is broken, we may end up with a `Transaction` or `Receipt` that we\\n can serialize but deserializing it back causes a parsing error.\","]
14157 #[doc = " \"allOf\": ["]
14158 #[doc = " {"]
14159 #[doc = " \"$ref\": \"#/components/schemas/Action\""]
14160 #[doc = " }"]
14161 #[doc = " ]"]
14162 #[doc = "}"]
14163 #[doc = r" ```"]
14164 #[doc = r" </details>"]
14165 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14166 #[serde(transparent)]
14167 pub struct NonDelegateAction(pub Action);
14168 impl ::std::ops::Deref for NonDelegateAction {
14169 type Target = Action;
14170 fn deref(&self) -> &Action {
14171 &self.0
14172 }
14173 }
14174 impl ::std::convert::From<NonDelegateAction> for Action {
14175 fn from(value: NonDelegateAction) -> Self {
14176 value.0
14177 }
14178 }
14179 impl ::std::convert::From<&NonDelegateAction> for NonDelegateAction {
14180 fn from(value: &NonDelegateAction) -> Self {
14181 value.clone()
14182 }
14183 }
14184 impl ::std::convert::From<Action> for NonDelegateAction {
14185 fn from(value: Action) -> Self {
14186 Self(value)
14187 }
14188 }
14189 #[doc = "Peer id is the public key."]
14190 #[doc = r""]
14191 #[doc = r" <details><summary>JSON schema</summary>"]
14192 #[doc = r""]
14193 #[doc = r" ```json"]
14194 #[doc = "{"]
14195 #[doc = " \"description\": \"Peer id is the public key.\","]
14196 #[doc = " \"allOf\": ["]
14197 #[doc = " {"]
14198 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
14199 #[doc = " }"]
14200 #[doc = " ]"]
14201 #[doc = "}"]
14202 #[doc = r" ```"]
14203 #[doc = r" </details>"]
14204 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14205 #[serde(transparent)]
14206 pub struct PeerId(pub PublicKey);
14207 impl ::std::ops::Deref for PeerId {
14208 type Target = PublicKey;
14209 fn deref(&self) -> &PublicKey {
14210 &self.0
14211 }
14212 }
14213 impl ::std::convert::From<PeerId> for PublicKey {
14214 fn from(value: PeerId) -> Self {
14215 value.0
14216 }
14217 }
14218 impl ::std::convert::From<&PeerId> for PeerId {
14219 fn from(value: &PeerId) -> Self {
14220 value.clone()
14221 }
14222 }
14223 impl ::std::convert::From<PublicKey> for PeerId {
14224 fn from(value: PublicKey) -> Self {
14225 Self(value)
14226 }
14227 }
14228 impl ::std::str::FromStr for PeerId {
14229 type Err = <PublicKey as ::std::str::FromStr>::Err;
14230 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
14231 Ok(Self(value.parse()?))
14232 }
14233 }
14234 impl ::std::convert::TryFrom<&str> for PeerId {
14235 type Error = <PublicKey as ::std::str::FromStr>::Err;
14236 fn try_from(value: &str) -> ::std::result::Result<Self, Self::Error> {
14237 value.parse()
14238 }
14239 }
14240 impl ::std::convert::TryFrom<&String> for PeerId {
14241 type Error = <PublicKey as ::std::str::FromStr>::Err;
14242 fn try_from(value: &String) -> ::std::result::Result<Self, Self::Error> {
14243 value.parse()
14244 }
14245 }
14246 impl ::std::convert::TryFrom<String> for PeerId {
14247 type Error = <PublicKey as ::std::str::FromStr>::Err;
14248 fn try_from(value: String) -> ::std::result::Result<Self, Self::Error> {
14249 value.parse()
14250 }
14251 }
14252 impl ::std::fmt::Display for PeerId {
14253 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14254 self.0.fmt(f)
14255 }
14256 }
14257 #[doc = "`PeerInfoView`"]
14258 #[doc = r""]
14259 #[doc = r" <details><summary>JSON schema</summary>"]
14260 #[doc = r""]
14261 #[doc = r" ```json"]
14262 #[doc = "{"]
14263 #[doc = " \"type\": \"object\","]
14264 #[doc = " \"required\": ["]
14265 #[doc = " \"addr\","]
14266 #[doc = " \"archival\","]
14267 #[doc = " \"connection_established_time_millis\","]
14268 #[doc = " \"is_highest_block_invalid\","]
14269 #[doc = " \"is_outbound_peer\","]
14270 #[doc = " \"last_time_peer_requested_millis\","]
14271 #[doc = " \"last_time_received_message_millis\","]
14272 #[doc = " \"nonce\","]
14273 #[doc = " \"peer_id\","]
14274 #[doc = " \"received_bytes_per_sec\","]
14275 #[doc = " \"sent_bytes_per_sec\","]
14276 #[doc = " \"tracked_shards\""]
14277 #[doc = " ],"]
14278 #[doc = " \"properties\": {"]
14279 #[doc = " \"account_id\": {"]
14280 #[doc = " \"oneOf\": ["]
14281 #[doc = " {"]
14282 #[doc = " \"type\": \"null\""]
14283 #[doc = " },"]
14284 #[doc = " {"]
14285 #[doc = " \"allOf\": ["]
14286 #[doc = " {"]
14287 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
14288 #[doc = " }"]
14289 #[doc = " ]"]
14290 #[doc = " }"]
14291 #[doc = " ]"]
14292 #[doc = " },"]
14293 #[doc = " \"addr\": {"]
14294 #[doc = " \"type\": \"string\""]
14295 #[doc = " },"]
14296 #[doc = " \"archival\": {"]
14297 #[doc = " \"type\": \"boolean\""]
14298 #[doc = " },"]
14299 #[doc = " \"block_hash\": {"]
14300 #[doc = " \"oneOf\": ["]
14301 #[doc = " {"]
14302 #[doc = " \"type\": \"null\""]
14303 #[doc = " },"]
14304 #[doc = " {"]
14305 #[doc = " \"allOf\": ["]
14306 #[doc = " {"]
14307 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
14308 #[doc = " }"]
14309 #[doc = " ]"]
14310 #[doc = " }"]
14311 #[doc = " ]"]
14312 #[doc = " },"]
14313 #[doc = " \"connection_established_time_millis\": {"]
14314 #[doc = " \"type\": \"integer\","]
14315 #[doc = " \"format\": \"uint64\","]
14316 #[doc = " \"minimum\": 0.0"]
14317 #[doc = " },"]
14318 #[doc = " \"height\": {"]
14319 #[doc = " \"type\": ["]
14320 #[doc = " \"integer\","]
14321 #[doc = " \"null\""]
14322 #[doc = " ],"]
14323 #[doc = " \"format\": \"uint64\","]
14324 #[doc = " \"minimum\": 0.0"]
14325 #[doc = " },"]
14326 #[doc = " \"is_highest_block_invalid\": {"]
14327 #[doc = " \"type\": \"boolean\""]
14328 #[doc = " },"]
14329 #[doc = " \"is_outbound_peer\": {"]
14330 #[doc = " \"type\": \"boolean\""]
14331 #[doc = " },"]
14332 #[doc = " \"last_time_peer_requested_millis\": {"]
14333 #[doc = " \"type\": \"integer\","]
14334 #[doc = " \"format\": \"uint64\","]
14335 #[doc = " \"minimum\": 0.0"]
14336 #[doc = " },"]
14337 #[doc = " \"last_time_received_message_millis\": {"]
14338 #[doc = " \"type\": \"integer\","]
14339 #[doc = " \"format\": \"uint64\","]
14340 #[doc = " \"minimum\": 0.0"]
14341 #[doc = " },"]
14342 #[doc = " \"nonce\": {"]
14343 #[doc = " \"description\": \"Connection nonce.\","]
14344 #[doc = " \"type\": \"integer\","]
14345 #[doc = " \"format\": \"uint64\","]
14346 #[doc = " \"minimum\": 0.0"]
14347 #[doc = " },"]
14348 #[doc = " \"peer_id\": {"]
14349 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
14350 #[doc = " },"]
14351 #[doc = " \"received_bytes_per_sec\": {"]
14352 #[doc = " \"type\": \"integer\","]
14353 #[doc = " \"format\": \"uint64\","]
14354 #[doc = " \"minimum\": 0.0"]
14355 #[doc = " },"]
14356 #[doc = " \"sent_bytes_per_sec\": {"]
14357 #[doc = " \"type\": \"integer\","]
14358 #[doc = " \"format\": \"uint64\","]
14359 #[doc = " \"minimum\": 0.0"]
14360 #[doc = " },"]
14361 #[doc = " \"tracked_shards\": {"]
14362 #[doc = " \"type\": \"array\","]
14363 #[doc = " \"items\": {"]
14364 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
14365 #[doc = " }"]
14366 #[doc = " }"]
14367 #[doc = " }"]
14368 #[doc = "}"]
14369 #[doc = r" ```"]
14370 #[doc = r" </details>"]
14371 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14372 pub struct PeerInfoView {
14373 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
14374 pub account_id: ::std::option::Option<AccountId>,
14375 pub addr: ::std::string::String,
14376 pub archival: bool,
14377 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
14378 pub block_hash: ::std::option::Option<CryptoHash>,
14379 pub connection_established_time_millis: u64,
14380 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
14381 pub height: ::std::option::Option<u64>,
14382 pub is_highest_block_invalid: bool,
14383 pub is_outbound_peer: bool,
14384 pub last_time_peer_requested_millis: u64,
14385 pub last_time_received_message_millis: u64,
14386 #[doc = "Connection nonce."]
14387 pub nonce: u64,
14388 pub peer_id: PublicKey,
14389 pub received_bytes_per_sec: u64,
14390 pub sent_bytes_per_sec: u64,
14391 pub tracked_shards: ::std::vec::Vec<ShardId>,
14392 }
14393 impl ::std::convert::From<&PeerInfoView> for PeerInfoView {
14394 fn from(value: &PeerInfoView) -> Self {
14395 value.clone()
14396 }
14397 }
14398 #[doc = "Error that can occur while preparing or executing Wasm smart-contract."]
14399 #[doc = r""]
14400 #[doc = r" <details><summary>JSON schema</summary>"]
14401 #[doc = r""]
14402 #[doc = r" ```json"]
14403 #[doc = "{"]
14404 #[doc = " \"description\": \"Error that can occur while preparing or executing Wasm smart-contract.\","]
14405 #[doc = " \"oneOf\": ["]
14406 #[doc = " {"]
14407 #[doc = " \"description\": \"Error happened while serializing the module.\","]
14408 #[doc = " \"type\": \"string\","]
14409 #[doc = " \"enum\": ["]
14410 #[doc = " \"Serialization\""]
14411 #[doc = " ]"]
14412 #[doc = " },"]
14413 #[doc = " {"]
14414 #[doc = " \"description\": \"Error happened while deserializing the module.\","]
14415 #[doc = " \"type\": \"string\","]
14416 #[doc = " \"enum\": ["]
14417 #[doc = " \"Deserialization\""]
14418 #[doc = " ]"]
14419 #[doc = " },"]
14420 #[doc = " {"]
14421 #[doc = " \"description\": \"Internal memory declaration has been found in the module.\","]
14422 #[doc = " \"type\": \"string\","]
14423 #[doc = " \"enum\": ["]
14424 #[doc = " \"InternalMemoryDeclared\""]
14425 #[doc = " ]"]
14426 #[doc = " },"]
14427 #[doc = " {"]
14428 #[doc = " \"description\": \"Gas instrumentation failed.\\n\\n This most likely indicates the module isn't valid.\","]
14429 #[doc = " \"type\": \"string\","]
14430 #[doc = " \"enum\": ["]
14431 #[doc = " \"GasInstrumentation\""]
14432 #[doc = " ]"]
14433 #[doc = " },"]
14434 #[doc = " {"]
14435 #[doc = " \"description\": \"Stack instrumentation failed.\\n\\n This most likely indicates the module isn't valid.\","]
14436 #[doc = " \"type\": \"string\","]
14437 #[doc = " \"enum\": ["]
14438 #[doc = " \"StackHeightInstrumentation\""]
14439 #[doc = " ]"]
14440 #[doc = " },"]
14441 #[doc = " {"]
14442 #[doc = " \"description\": \"Error happened during instantiation.\\n\\n This might indicate that `start` function trapped, or module isn't\\n instantiable and/or un-linkable.\","]
14443 #[doc = " \"type\": \"string\","]
14444 #[doc = " \"enum\": ["]
14445 #[doc = " \"Instantiate\""]
14446 #[doc = " ]"]
14447 #[doc = " },"]
14448 #[doc = " {"]
14449 #[doc = " \"description\": \"Error creating memory.\","]
14450 #[doc = " \"type\": \"string\","]
14451 #[doc = " \"enum\": ["]
14452 #[doc = " \"Memory\""]
14453 #[doc = " ]"]
14454 #[doc = " },"]
14455 #[doc = " {"]
14456 #[doc = " \"description\": \"Contract contains too many functions.\","]
14457 #[doc = " \"type\": \"string\","]
14458 #[doc = " \"enum\": ["]
14459 #[doc = " \"TooManyFunctions\""]
14460 #[doc = " ]"]
14461 #[doc = " },"]
14462 #[doc = " {"]
14463 #[doc = " \"description\": \"Contract contains too many locals.\","]
14464 #[doc = " \"type\": \"string\","]
14465 #[doc = " \"enum\": ["]
14466 #[doc = " \"TooManyLocals\""]
14467 #[doc = " ]"]
14468 #[doc = " }"]
14469 #[doc = " ]"]
14470 #[doc = "}"]
14471 #[doc = r" ```"]
14472 #[doc = r" </details>"]
14473 #[derive(
14474 :: serde :: Deserialize,
14475 :: serde :: Serialize,
14476 Clone,
14477 Copy,
14478 Debug,
14479 Eq,
14480 Hash,
14481 Ord,
14482 PartialEq,
14483 PartialOrd,
14484 )]
14485 pub enum PrepareError {
14486 #[doc = "Error happened while serializing the module."]
14487 Serialization,
14488 #[doc = "Error happened while deserializing the module."]
14489 Deserialization,
14490 #[doc = "Internal memory declaration has been found in the module."]
14491 InternalMemoryDeclared,
14492 #[doc = "Gas instrumentation failed.\n\n This most likely indicates the module isn't valid."]
14493 GasInstrumentation,
14494 #[doc = "Stack instrumentation failed.\n\n This most likely indicates the module isn't valid."]
14495 StackHeightInstrumentation,
14496 #[doc = "Error happened during instantiation.\n\n This might indicate that `start` function trapped, or module isn't\n instantiable and/or un-linkable."]
14497 Instantiate,
14498 #[doc = "Error creating memory."]
14499 Memory,
14500 #[doc = "Contract contains too many functions."]
14501 TooManyFunctions,
14502 #[doc = "Contract contains too many locals."]
14503 TooManyLocals,
14504 }
14505 impl ::std::convert::From<&Self> for PrepareError {
14506 fn from(value: &PrepareError) -> Self {
14507 value.clone()
14508 }
14509 }
14510 impl ::std::fmt::Display for PrepareError {
14511 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14512 match *self {
14513 Self::Serialization => write!(f, "Serialization"),
14514 Self::Deserialization => write!(f, "Deserialization"),
14515 Self::InternalMemoryDeclared => write!(f, "InternalMemoryDeclared"),
14516 Self::GasInstrumentation => write!(f, "GasInstrumentation"),
14517 Self::StackHeightInstrumentation => write!(f, "StackHeightInstrumentation"),
14518 Self::Instantiate => write!(f, "Instantiate"),
14519 Self::Memory => write!(f, "Memory"),
14520 Self::TooManyFunctions => write!(f, "TooManyFunctions"),
14521 Self::TooManyLocals => write!(f, "TooManyLocals"),
14522 }
14523 }
14524 }
14525 impl ::std::str::FromStr for PrepareError {
14526 type Err = self::error::ConversionError;
14527 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
14528 match value {
14529 "Serialization" => Ok(Self::Serialization),
14530 "Deserialization" => Ok(Self::Deserialization),
14531 "InternalMemoryDeclared" => Ok(Self::InternalMemoryDeclared),
14532 "GasInstrumentation" => Ok(Self::GasInstrumentation),
14533 "StackHeightInstrumentation" => Ok(Self::StackHeightInstrumentation),
14534 "Instantiate" => Ok(Self::Instantiate),
14535 "Memory" => Ok(Self::Memory),
14536 "TooManyFunctions" => Ok(Self::TooManyFunctions),
14537 "TooManyLocals" => Ok(Self::TooManyLocals),
14538 _ => Err("invalid value".into()),
14539 }
14540 }
14541 }
14542 impl ::std::convert::TryFrom<&str> for PrepareError {
14543 type Error = self::error::ConversionError;
14544 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
14545 value.parse()
14546 }
14547 }
14548 impl ::std::convert::TryFrom<&::std::string::String> for PrepareError {
14549 type Error = self::error::ConversionError;
14550 fn try_from(
14551 value: &::std::string::String,
14552 ) -> ::std::result::Result<Self, self::error::ConversionError> {
14553 value.parse()
14554 }
14555 }
14556 impl ::std::convert::TryFrom<::std::string::String> for PrepareError {
14557 type Error = self::error::ConversionError;
14558 fn try_from(
14559 value: ::std::string::String,
14560 ) -> ::std::result::Result<Self, self::error::ConversionError> {
14561 value.parse()
14562 }
14563 }
14564 #[doc = "`PublicKey`"]
14565 #[doc = r""]
14566 #[doc = r" <details><summary>JSON schema</summary>"]
14567 #[doc = r""]
14568 #[doc = r" ```json"]
14569 #[doc = "{"]
14570 #[doc = " \"type\": \"string\""]
14571 #[doc = "}"]
14572 #[doc = r" ```"]
14573 #[doc = r" </details>"]
14574 #[derive(
14575 :: serde :: Deserialize,
14576 :: serde :: Serialize,
14577 Clone,
14578 Debug,
14579 Eq,
14580 Hash,
14581 Ord,
14582 PartialEq,
14583 PartialOrd,
14584 )]
14585 #[serde(transparent)]
14586 pub struct PublicKey(pub ::std::string::String);
14587 impl ::std::ops::Deref for PublicKey {
14588 type Target = ::std::string::String;
14589 fn deref(&self) -> &::std::string::String {
14590 &self.0
14591 }
14592 }
14593 impl ::std::convert::From<PublicKey> for ::std::string::String {
14594 fn from(value: PublicKey) -> Self {
14595 value.0
14596 }
14597 }
14598 impl ::std::convert::From<&PublicKey> for PublicKey {
14599 fn from(value: &PublicKey) -> Self {
14600 value.clone()
14601 }
14602 }
14603 impl ::std::convert::From<::std::string::String> for PublicKey {
14604 fn from(value: ::std::string::String) -> Self {
14605 Self(value)
14606 }
14607 }
14608 impl ::std::str::FromStr for PublicKey {
14609 type Err = ::std::convert::Infallible;
14610 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
14611 Ok(Self(value.to_string()))
14612 }
14613 }
14614 impl ::std::fmt::Display for PublicKey {
14615 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14616 self.0.fmt(f)
14617 }
14618 }
14619 #[doc = "`RangeOfUint64`"]
14620 #[doc = r""]
14621 #[doc = r" <details><summary>JSON schema</summary>"]
14622 #[doc = r""]
14623 #[doc = r" ```json"]
14624 #[doc = "{"]
14625 #[doc = " \"type\": \"object\","]
14626 #[doc = " \"required\": ["]
14627 #[doc = " \"end\","]
14628 #[doc = " \"start\""]
14629 #[doc = " ],"]
14630 #[doc = " \"properties\": {"]
14631 #[doc = " \"end\": {"]
14632 #[doc = " \"type\": \"integer\","]
14633 #[doc = " \"format\": \"uint64\","]
14634 #[doc = " \"minimum\": 0.0"]
14635 #[doc = " },"]
14636 #[doc = " \"start\": {"]
14637 #[doc = " \"type\": \"integer\","]
14638 #[doc = " \"format\": \"uint64\","]
14639 #[doc = " \"minimum\": 0.0"]
14640 #[doc = " }"]
14641 #[doc = " }"]
14642 #[doc = "}"]
14643 #[doc = r" ```"]
14644 #[doc = r" </details>"]
14645 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14646 pub struct RangeOfUint64 {
14647 pub end: u64,
14648 pub start: u64,
14649 }
14650 impl ::std::convert::From<&RangeOfUint64> for RangeOfUint64 {
14651 fn from(value: &RangeOfUint64) -> Self {
14652 value.clone()
14653 }
14654 }
14655 #[doc = "`ReceiptEnumView`"]
14656 #[doc = r""]
14657 #[doc = r" <details><summary>JSON schema</summary>"]
14658 #[doc = r""]
14659 #[doc = r" ```json"]
14660 #[doc = "{"]
14661 #[doc = " \"oneOf\": ["]
14662 #[doc = " {"]
14663 #[doc = " \"type\": \"object\","]
14664 #[doc = " \"required\": ["]
14665 #[doc = " \"Action\""]
14666 #[doc = " ],"]
14667 #[doc = " \"properties\": {"]
14668 #[doc = " \"Action\": {"]
14669 #[doc = " \"type\": \"object\","]
14670 #[doc = " \"required\": ["]
14671 #[doc = " \"actions\","]
14672 #[doc = " \"gas_price\","]
14673 #[doc = " \"input_data_ids\","]
14674 #[doc = " \"output_data_receivers\","]
14675 #[doc = " \"signer_id\","]
14676 #[doc = " \"signer_public_key\""]
14677 #[doc = " ],"]
14678 #[doc = " \"properties\": {"]
14679 #[doc = " \"actions\": {"]
14680 #[doc = " \"type\": \"array\","]
14681 #[doc = " \"items\": {"]
14682 #[doc = " \"$ref\": \"#/components/schemas/ActionView\""]
14683 #[doc = " }"]
14684 #[doc = " },"]
14685 #[doc = " \"gas_price\": {"]
14686 #[doc = " \"type\": \"string\""]
14687 #[doc = " },"]
14688 #[doc = " \"input_data_ids\": {"]
14689 #[doc = " \"type\": \"array\","]
14690 #[doc = " \"items\": {"]
14691 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
14692 #[doc = " }"]
14693 #[doc = " },"]
14694 #[doc = " \"is_promise_yield\": {"]
14695 #[doc = " \"default\": false,"]
14696 #[doc = " \"type\": \"boolean\""]
14697 #[doc = " },"]
14698 #[doc = " \"output_data_receivers\": {"]
14699 #[doc = " \"type\": \"array\","]
14700 #[doc = " \"items\": {"]
14701 #[doc = " \"$ref\": \"#/components/schemas/DataReceiverView\""]
14702 #[doc = " }"]
14703 #[doc = " },"]
14704 #[doc = " \"signer_id\": {"]
14705 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
14706 #[doc = " },"]
14707 #[doc = " \"signer_public_key\": {"]
14708 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
14709 #[doc = " }"]
14710 #[doc = " }"]
14711 #[doc = " }"]
14712 #[doc = " },"]
14713 #[doc = " \"additionalProperties\": false"]
14714 #[doc = " },"]
14715 #[doc = " {"]
14716 #[doc = " \"type\": \"object\","]
14717 #[doc = " \"required\": ["]
14718 #[doc = " \"Data\""]
14719 #[doc = " ],"]
14720 #[doc = " \"properties\": {"]
14721 #[doc = " \"Data\": {"]
14722 #[doc = " \"type\": \"object\","]
14723 #[doc = " \"required\": ["]
14724 #[doc = " \"data_id\""]
14725 #[doc = " ],"]
14726 #[doc = " \"properties\": {"]
14727 #[doc = " \"data\": {"]
14728 #[doc = " \"type\": ["]
14729 #[doc = " \"string\","]
14730 #[doc = " \"null\""]
14731 #[doc = " ]"]
14732 #[doc = " },"]
14733 #[doc = " \"data_id\": {"]
14734 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
14735 #[doc = " },"]
14736 #[doc = " \"is_promise_resume\": {"]
14737 #[doc = " \"default\": false,"]
14738 #[doc = " \"type\": \"boolean\""]
14739 #[doc = " }"]
14740 #[doc = " }"]
14741 #[doc = " }"]
14742 #[doc = " },"]
14743 #[doc = " \"additionalProperties\": false"]
14744 #[doc = " },"]
14745 #[doc = " {"]
14746 #[doc = " \"type\": \"object\","]
14747 #[doc = " \"required\": ["]
14748 #[doc = " \"GlobalContractDistribution\""]
14749 #[doc = " ],"]
14750 #[doc = " \"properties\": {"]
14751 #[doc = " \"GlobalContractDistribution\": {"]
14752 #[doc = " \"type\": \"object\","]
14753 #[doc = " \"required\": ["]
14754 #[doc = " \"already_delivered_shards\","]
14755 #[doc = " \"code\","]
14756 #[doc = " \"id\","]
14757 #[doc = " \"target_shard\""]
14758 #[doc = " ],"]
14759 #[doc = " \"properties\": {"]
14760 #[doc = " \"already_delivered_shards\": {"]
14761 #[doc = " \"type\": \"array\","]
14762 #[doc = " \"items\": {"]
14763 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
14764 #[doc = " }"]
14765 #[doc = " },"]
14766 #[doc = " \"code\": {"]
14767 #[doc = " \"type\": \"string\""]
14768 #[doc = " },"]
14769 #[doc = " \"id\": {"]
14770 #[doc = " \"$ref\": \"#/components/schemas/GlobalContractIdentifier\""]
14771 #[doc = " },"]
14772 #[doc = " \"target_shard\": {"]
14773 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
14774 #[doc = " }"]
14775 #[doc = " }"]
14776 #[doc = " }"]
14777 #[doc = " },"]
14778 #[doc = " \"additionalProperties\": false"]
14779 #[doc = " }"]
14780 #[doc = " ]"]
14781 #[doc = "}"]
14782 #[doc = r" ```"]
14783 #[doc = r" </details>"]
14784 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
14785 pub enum ReceiptEnumView {
14786 Action {
14787 actions: ::std::vec::Vec<ActionView>,
14788 gas_price: ::std::string::String,
14789 input_data_ids: ::std::vec::Vec<CryptoHash>,
14790 #[serde(default)]
14791 is_promise_yield: bool,
14792 output_data_receivers: ::std::vec::Vec<DataReceiverView>,
14793 signer_id: AccountId,
14794 signer_public_key: PublicKey,
14795 },
14796 Data {
14797 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
14798 data: ::std::option::Option<::std::string::String>,
14799 data_id: CryptoHash,
14800 #[serde(default)]
14801 is_promise_resume: bool,
14802 },
14803 GlobalContractDistribution {
14804 already_delivered_shards: ::std::vec::Vec<ShardId>,
14805 code: ::std::string::String,
14806 id: GlobalContractIdentifier,
14807 target_shard: ShardId,
14808 },
14809 }
14810 impl ::std::convert::From<&Self> for ReceiptEnumView {
14811 fn from(value: &ReceiptEnumView) -> Self {
14812 value.clone()
14813 }
14814 }
14815 #[doc = "Describes the error for validating a receipt."]
14816 #[doc = r""]
14817 #[doc = r" <details><summary>JSON schema</summary>"]
14818 #[doc = r""]
14819 #[doc = r" ```json"]
14820 #[doc = "{"]
14821 #[doc = " \"description\": \"Describes the error for validating a receipt.\","]
14822 #[doc = " \"oneOf\": ["]
14823 #[doc = " {"]
14824 #[doc = " \"description\": \"The `predecessor_id` of a Receipt is not valid.\","]
14825 #[doc = " \"type\": \"object\","]
14826 #[doc = " \"required\": ["]
14827 #[doc = " \"InvalidPredecessorId\""]
14828 #[doc = " ],"]
14829 #[doc = " \"properties\": {"]
14830 #[doc = " \"InvalidPredecessorId\": {"]
14831 #[doc = " \"type\": \"object\","]
14832 #[doc = " \"required\": ["]
14833 #[doc = " \"account_id\""]
14834 #[doc = " ],"]
14835 #[doc = " \"properties\": {"]
14836 #[doc = " \"account_id\": {"]
14837 #[doc = " \"type\": \"string\""]
14838 #[doc = " }"]
14839 #[doc = " }"]
14840 #[doc = " }"]
14841 #[doc = " },"]
14842 #[doc = " \"additionalProperties\": false"]
14843 #[doc = " },"]
14844 #[doc = " {"]
14845 #[doc = " \"description\": \"The `receiver_id` of a Receipt is not valid.\","]
14846 #[doc = " \"type\": \"object\","]
14847 #[doc = " \"required\": ["]
14848 #[doc = " \"InvalidReceiverId\""]
14849 #[doc = " ],"]
14850 #[doc = " \"properties\": {"]
14851 #[doc = " \"InvalidReceiverId\": {"]
14852 #[doc = " \"type\": \"object\","]
14853 #[doc = " \"required\": ["]
14854 #[doc = " \"account_id\""]
14855 #[doc = " ],"]
14856 #[doc = " \"properties\": {"]
14857 #[doc = " \"account_id\": {"]
14858 #[doc = " \"type\": \"string\""]
14859 #[doc = " }"]
14860 #[doc = " }"]
14861 #[doc = " }"]
14862 #[doc = " },"]
14863 #[doc = " \"additionalProperties\": false"]
14864 #[doc = " },"]
14865 #[doc = " {"]
14866 #[doc = " \"description\": \"The `signer_id` of an ActionReceipt is not valid.\","]
14867 #[doc = " \"type\": \"object\","]
14868 #[doc = " \"required\": ["]
14869 #[doc = " \"InvalidSignerId\""]
14870 #[doc = " ],"]
14871 #[doc = " \"properties\": {"]
14872 #[doc = " \"InvalidSignerId\": {"]
14873 #[doc = " \"type\": \"object\","]
14874 #[doc = " \"required\": ["]
14875 #[doc = " \"account_id\""]
14876 #[doc = " ],"]
14877 #[doc = " \"properties\": {"]
14878 #[doc = " \"account_id\": {"]
14879 #[doc = " \"type\": \"string\""]
14880 #[doc = " }"]
14881 #[doc = " }"]
14882 #[doc = " }"]
14883 #[doc = " },"]
14884 #[doc = " \"additionalProperties\": false"]
14885 #[doc = " },"]
14886 #[doc = " {"]
14887 #[doc = " \"description\": \"The `receiver_id` of a DataReceiver within an ActionReceipt is not valid.\","]
14888 #[doc = " \"type\": \"object\","]
14889 #[doc = " \"required\": ["]
14890 #[doc = " \"InvalidDataReceiverId\""]
14891 #[doc = " ],"]
14892 #[doc = " \"properties\": {"]
14893 #[doc = " \"InvalidDataReceiverId\": {"]
14894 #[doc = " \"type\": \"object\","]
14895 #[doc = " \"required\": ["]
14896 #[doc = " \"account_id\""]
14897 #[doc = " ],"]
14898 #[doc = " \"properties\": {"]
14899 #[doc = " \"account_id\": {"]
14900 #[doc = " \"type\": \"string\""]
14901 #[doc = " }"]
14902 #[doc = " }"]
14903 #[doc = " }"]
14904 #[doc = " },"]
14905 #[doc = " \"additionalProperties\": false"]
14906 #[doc = " },"]
14907 #[doc = " {"]
14908 #[doc = " \"description\": \"The length of the returned data exceeded the limit in a DataReceipt.\","]
14909 #[doc = " \"type\": \"object\","]
14910 #[doc = " \"required\": ["]
14911 #[doc = " \"ReturnedValueLengthExceeded\""]
14912 #[doc = " ],"]
14913 #[doc = " \"properties\": {"]
14914 #[doc = " \"ReturnedValueLengthExceeded\": {"]
14915 #[doc = " \"type\": \"object\","]
14916 #[doc = " \"required\": ["]
14917 #[doc = " \"length\","]
14918 #[doc = " \"limit\""]
14919 #[doc = " ],"]
14920 #[doc = " \"properties\": {"]
14921 #[doc = " \"length\": {"]
14922 #[doc = " \"type\": \"integer\","]
14923 #[doc = " \"format\": \"uint64\","]
14924 #[doc = " \"minimum\": 0.0"]
14925 #[doc = " },"]
14926 #[doc = " \"limit\": {"]
14927 #[doc = " \"type\": \"integer\","]
14928 #[doc = " \"format\": \"uint64\","]
14929 #[doc = " \"minimum\": 0.0"]
14930 #[doc = " }"]
14931 #[doc = " }"]
14932 #[doc = " }"]
14933 #[doc = " },"]
14934 #[doc = " \"additionalProperties\": false"]
14935 #[doc = " },"]
14936 #[doc = " {"]
14937 #[doc = " \"description\": \"The number of input data dependencies exceeds the limit in an ActionReceipt.\","]
14938 #[doc = " \"type\": \"object\","]
14939 #[doc = " \"required\": ["]
14940 #[doc = " \"NumberInputDataDependenciesExceeded\""]
14941 #[doc = " ],"]
14942 #[doc = " \"properties\": {"]
14943 #[doc = " \"NumberInputDataDependenciesExceeded\": {"]
14944 #[doc = " \"type\": \"object\","]
14945 #[doc = " \"required\": ["]
14946 #[doc = " \"limit\","]
14947 #[doc = " \"number_of_input_data_dependencies\""]
14948 #[doc = " ],"]
14949 #[doc = " \"properties\": {"]
14950 #[doc = " \"limit\": {"]
14951 #[doc = " \"type\": \"integer\","]
14952 #[doc = " \"format\": \"uint64\","]
14953 #[doc = " \"minimum\": 0.0"]
14954 #[doc = " },"]
14955 #[doc = " \"number_of_input_data_dependencies\": {"]
14956 #[doc = " \"type\": \"integer\","]
14957 #[doc = " \"format\": \"uint64\","]
14958 #[doc = " \"minimum\": 0.0"]
14959 #[doc = " }"]
14960 #[doc = " }"]
14961 #[doc = " }"]
14962 #[doc = " },"]
14963 #[doc = " \"additionalProperties\": false"]
14964 #[doc = " },"]
14965 #[doc = " {"]
14966 #[doc = " \"description\": \"An error occurred while validating actions of an ActionReceipt.\","]
14967 #[doc = " \"type\": \"object\","]
14968 #[doc = " \"required\": ["]
14969 #[doc = " \"ActionsValidation\""]
14970 #[doc = " ],"]
14971 #[doc = " \"properties\": {"]
14972 #[doc = " \"ActionsValidation\": {"]
14973 #[doc = " \"$ref\": \"#/components/schemas/ActionsValidationError\""]
14974 #[doc = " }"]
14975 #[doc = " },"]
14976 #[doc = " \"additionalProperties\": false"]
14977 #[doc = " },"]
14978 #[doc = " {"]
14979 #[doc = " \"description\": \"Receipt is bigger than the limit.\","]
14980 #[doc = " \"type\": \"object\","]
14981 #[doc = " \"required\": ["]
14982 #[doc = " \"ReceiptSizeExceeded\""]
14983 #[doc = " ],"]
14984 #[doc = " \"properties\": {"]
14985 #[doc = " \"ReceiptSizeExceeded\": {"]
14986 #[doc = " \"type\": \"object\","]
14987 #[doc = " \"required\": ["]
14988 #[doc = " \"limit\","]
14989 #[doc = " \"size\""]
14990 #[doc = " ],"]
14991 #[doc = " \"properties\": {"]
14992 #[doc = " \"limit\": {"]
14993 #[doc = " \"type\": \"integer\","]
14994 #[doc = " \"format\": \"uint64\","]
14995 #[doc = " \"minimum\": 0.0"]
14996 #[doc = " },"]
14997 #[doc = " \"size\": {"]
14998 #[doc = " \"type\": \"integer\","]
14999 #[doc = " \"format\": \"uint64\","]
15000 #[doc = " \"minimum\": 0.0"]
15001 #[doc = " }"]
15002 #[doc = " }"]
15003 #[doc = " }"]
15004 #[doc = " },"]
15005 #[doc = " \"additionalProperties\": false"]
15006 #[doc = " }"]
15007 #[doc = " ]"]
15008 #[doc = "}"]
15009 #[doc = r" ```"]
15010 #[doc = r" </details>"]
15011 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15012 pub enum ReceiptValidationError {
15013 #[doc = "The `predecessor_id` of a Receipt is not valid."]
15014 InvalidPredecessorId { account_id: ::std::string::String },
15015 #[doc = "The `receiver_id` of a Receipt is not valid."]
15016 InvalidReceiverId { account_id: ::std::string::String },
15017 #[doc = "The `signer_id` of an ActionReceipt is not valid."]
15018 InvalidSignerId { account_id: ::std::string::String },
15019 #[doc = "The `receiver_id` of a DataReceiver within an ActionReceipt is not valid."]
15020 InvalidDataReceiverId { account_id: ::std::string::String },
15021 #[doc = "The length of the returned data exceeded the limit in a DataReceipt."]
15022 ReturnedValueLengthExceeded { length: u64, limit: u64 },
15023 #[doc = "The number of input data dependencies exceeds the limit in an ActionReceipt."]
15024 NumberInputDataDependenciesExceeded {
15025 limit: u64,
15026 number_of_input_data_dependencies: u64,
15027 },
15028 #[doc = "An error occurred while validating actions of an ActionReceipt."]
15029 ActionsValidation(ActionsValidationError),
15030 #[doc = "Receipt is bigger than the limit."]
15031 ReceiptSizeExceeded { limit: u64, size: u64 },
15032 }
15033 impl ::std::convert::From<&Self> for ReceiptValidationError {
15034 fn from(value: &ReceiptValidationError) -> Self {
15035 value.clone()
15036 }
15037 }
15038 impl ::std::convert::From<ActionsValidationError> for ReceiptValidationError {
15039 fn from(value: ActionsValidationError) -> Self {
15040 Self::ActionsValidation(value)
15041 }
15042 }
15043 #[doc = "`ReceiptView`"]
15044 #[doc = r""]
15045 #[doc = r" <details><summary>JSON schema</summary>"]
15046 #[doc = r""]
15047 #[doc = r" ```json"]
15048 #[doc = "{"]
15049 #[doc = " \"type\": \"object\","]
15050 #[doc = " \"required\": ["]
15051 #[doc = " \"predecessor_id\","]
15052 #[doc = " \"receipt\","]
15053 #[doc = " \"receipt_id\","]
15054 #[doc = " \"receiver_id\""]
15055 #[doc = " ],"]
15056 #[doc = " \"properties\": {"]
15057 #[doc = " \"predecessor_id\": {"]
15058 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
15059 #[doc = " },"]
15060 #[doc = " \"priority\": {"]
15061 #[doc = " \"default\": 0,"]
15062 #[doc = " \"type\": \"integer\","]
15063 #[doc = " \"format\": \"uint64\","]
15064 #[doc = " \"minimum\": 0.0"]
15065 #[doc = " },"]
15066 #[doc = " \"receipt\": {"]
15067 #[doc = " \"$ref\": \"#/components/schemas/ReceiptEnumView\""]
15068 #[doc = " },"]
15069 #[doc = " \"receipt_id\": {"]
15070 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
15071 #[doc = " },"]
15072 #[doc = " \"receiver_id\": {"]
15073 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
15074 #[doc = " }"]
15075 #[doc = " }"]
15076 #[doc = "}"]
15077 #[doc = r" ```"]
15078 #[doc = r" </details>"]
15079 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15080 pub struct ReceiptView {
15081 pub predecessor_id: AccountId,
15082 #[serde(default)]
15083 pub priority: u64,
15084 pub receipt: ReceiptEnumView,
15085 pub receipt_id: CryptoHash,
15086 pub receiver_id: AccountId,
15087 }
15088 impl ::std::convert::From<&ReceiptView> for ReceiptView {
15089 fn from(value: &ReceiptView) -> Self {
15090 value.clone()
15091 }
15092 }
15093 #[doc = "`RpcBlockRequest`"]
15094 #[doc = r""]
15095 #[doc = r" <details><summary>JSON schema</summary>"]
15096 #[doc = r""]
15097 #[doc = r" ```json"]
15098 #[doc = "{"]
15099 #[doc = " \"title\": \"RpcBlockRequest\","]
15100 #[doc = " \"type\": \"object\","]
15101 #[doc = " \"oneOf\": ["]
15102 #[doc = " {"]
15103 #[doc = " \"type\": \"object\","]
15104 #[doc = " \"required\": ["]
15105 #[doc = " \"block_id\""]
15106 #[doc = " ],"]
15107 #[doc = " \"properties\": {"]
15108 #[doc = " \"block_id\": {"]
15109 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
15110 #[doc = " }"]
15111 #[doc = " }"]
15112 #[doc = " },"]
15113 #[doc = " {"]
15114 #[doc = " \"type\": \"object\","]
15115 #[doc = " \"required\": ["]
15116 #[doc = " \"finality\""]
15117 #[doc = " ],"]
15118 #[doc = " \"properties\": {"]
15119 #[doc = " \"finality\": {"]
15120 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
15121 #[doc = " }"]
15122 #[doc = " }"]
15123 #[doc = " },"]
15124 #[doc = " {"]
15125 #[doc = " \"type\": \"object\","]
15126 #[doc = " \"required\": ["]
15127 #[doc = " \"sync_checkpoint\""]
15128 #[doc = " ],"]
15129 #[doc = " \"properties\": {"]
15130 #[doc = " \"sync_checkpoint\": {"]
15131 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
15132 #[doc = " }"]
15133 #[doc = " }"]
15134 #[doc = " }"]
15135 #[doc = " ]"]
15136 #[doc = "}"]
15137 #[doc = r" ```"]
15138 #[doc = r" </details>"]
15139 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15140 pub enum RpcBlockRequest {
15141 #[serde(rename = "block_id")]
15142 BlockId(BlockId),
15143 #[serde(rename = "finality")]
15144 Finality(Finality),
15145 #[serde(rename = "sync_checkpoint")]
15146 SyncCheckpoint(SyncCheckpoint),
15147 }
15148 impl ::std::convert::From<&Self> for RpcBlockRequest {
15149 fn from(value: &RpcBlockRequest) -> Self {
15150 value.clone()
15151 }
15152 }
15153 impl ::std::convert::From<BlockId> for RpcBlockRequest {
15154 fn from(value: BlockId) -> Self {
15155 Self::BlockId(value)
15156 }
15157 }
15158 impl ::std::convert::From<Finality> for RpcBlockRequest {
15159 fn from(value: Finality) -> Self {
15160 Self::Finality(value)
15161 }
15162 }
15163 impl ::std::convert::From<SyncCheckpoint> for RpcBlockRequest {
15164 fn from(value: SyncCheckpoint) -> Self {
15165 Self::SyncCheckpoint(value)
15166 }
15167 }
15168 #[doc = "`RpcBlockResponse`"]
15169 #[doc = r""]
15170 #[doc = r" <details><summary>JSON schema</summary>"]
15171 #[doc = r""]
15172 #[doc = r" ```json"]
15173 #[doc = "{"]
15174 #[doc = " \"type\": \"object\","]
15175 #[doc = " \"required\": ["]
15176 #[doc = " \"author\","]
15177 #[doc = " \"chunks\","]
15178 #[doc = " \"header\""]
15179 #[doc = " ],"]
15180 #[doc = " \"properties\": {"]
15181 #[doc = " \"author\": {"]
15182 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
15183 #[doc = " },"]
15184 #[doc = " \"chunks\": {"]
15185 #[doc = " \"type\": \"array\","]
15186 #[doc = " \"items\": {"]
15187 #[doc = " \"$ref\": \"#/components/schemas/ChunkHeaderView\""]
15188 #[doc = " }"]
15189 #[doc = " },"]
15190 #[doc = " \"header\": {"]
15191 #[doc = " \"$ref\": \"#/components/schemas/BlockHeaderView\""]
15192 #[doc = " }"]
15193 #[doc = " }"]
15194 #[doc = "}"]
15195 #[doc = r" ```"]
15196 #[doc = r" </details>"]
15197 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15198 pub struct RpcBlockResponse {
15199 pub author: AccountId,
15200 pub chunks: ::std::vec::Vec<ChunkHeaderView>,
15201 pub header: BlockHeaderView,
15202 }
15203 impl ::std::convert::From<&RpcBlockResponse> for RpcBlockResponse {
15204 fn from(value: &RpcBlockResponse) -> Self {
15205 value.clone()
15206 }
15207 }
15208 #[doc = "`RpcChunkRequest`"]
15209 #[doc = r""]
15210 #[doc = r" <details><summary>JSON schema</summary>"]
15211 #[doc = r""]
15212 #[doc = r" ```json"]
15213 #[doc = "{"]
15214 #[doc = " \"title\": \"RpcChunkRequest\","]
15215 #[doc = " \"type\": \"object\","]
15216 #[doc = " \"anyOf\": ["]
15217 #[doc = " {"]
15218 #[doc = " \"type\": \"object\","]
15219 #[doc = " \"required\": ["]
15220 #[doc = " \"block_id\","]
15221 #[doc = " \"shard_id\""]
15222 #[doc = " ],"]
15223 #[doc = " \"properties\": {"]
15224 #[doc = " \"block_id\": {"]
15225 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
15226 #[doc = " },"]
15227 #[doc = " \"shard_id\": {"]
15228 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
15229 #[doc = " }"]
15230 #[doc = " }"]
15231 #[doc = " },"]
15232 #[doc = " {"]
15233 #[doc = " \"type\": \"object\","]
15234 #[doc = " \"required\": ["]
15235 #[doc = " \"chunk_id\""]
15236 #[doc = " ],"]
15237 #[doc = " \"properties\": {"]
15238 #[doc = " \"chunk_id\": {"]
15239 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
15240 #[doc = " }"]
15241 #[doc = " }"]
15242 #[doc = " }"]
15243 #[doc = " ]"]
15244 #[doc = "}"]
15245 #[doc = r" ```"]
15246 #[doc = r" </details>"]
15247 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15248 #[serde(untagged)]
15249 pub enum RpcChunkRequest {
15250 Variant0 {
15251 block_id: BlockId,
15252 shard_id: ShardId,
15253 },
15254 Variant1 {
15255 chunk_id: CryptoHash,
15256 },
15257 }
15258 impl ::std::convert::From<&Self> for RpcChunkRequest {
15259 fn from(value: &RpcChunkRequest) -> Self {
15260 value.clone()
15261 }
15262 }
15263 #[doc = "`RpcChunkResponse`"]
15264 #[doc = r""]
15265 #[doc = r" <details><summary>JSON schema</summary>"]
15266 #[doc = r""]
15267 #[doc = r" ```json"]
15268 #[doc = "{"]
15269 #[doc = " \"type\": \"object\","]
15270 #[doc = " \"required\": ["]
15271 #[doc = " \"author\","]
15272 #[doc = " \"header\","]
15273 #[doc = " \"receipts\","]
15274 #[doc = " \"transactions\""]
15275 #[doc = " ],"]
15276 #[doc = " \"properties\": {"]
15277 #[doc = " \"author\": {"]
15278 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
15279 #[doc = " },"]
15280 #[doc = " \"header\": {"]
15281 #[doc = " \"$ref\": \"#/components/schemas/ChunkHeaderView\""]
15282 #[doc = " },"]
15283 #[doc = " \"receipts\": {"]
15284 #[doc = " \"type\": \"array\","]
15285 #[doc = " \"items\": {"]
15286 #[doc = " \"$ref\": \"#/components/schemas/ReceiptView\""]
15287 #[doc = " }"]
15288 #[doc = " },"]
15289 #[doc = " \"transactions\": {"]
15290 #[doc = " \"type\": \"array\","]
15291 #[doc = " \"items\": {"]
15292 #[doc = " \"$ref\": \"#/components/schemas/SignedTransactionView\""]
15293 #[doc = " }"]
15294 #[doc = " }"]
15295 #[doc = " }"]
15296 #[doc = "}"]
15297 #[doc = r" ```"]
15298 #[doc = r" </details>"]
15299 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15300 pub struct RpcChunkResponse {
15301 pub author: AccountId,
15302 pub header: ChunkHeaderView,
15303 pub receipts: ::std::vec::Vec<ReceiptView>,
15304 pub transactions: ::std::vec::Vec<SignedTransactionView>,
15305 }
15306 impl ::std::convert::From<&RpcChunkResponse> for RpcChunkResponse {
15307 fn from(value: &RpcChunkResponse) -> Self {
15308 value.clone()
15309 }
15310 }
15311 #[doc = "`RpcClientConfigRequest`"]
15312 #[doc = r""]
15313 #[doc = r" <details><summary>JSON schema</summary>"]
15314 #[doc = r""]
15315 #[doc = r" ```json"]
15316 #[doc = "{"]
15317 #[doc = " \"title\": \"RpcClientConfigRequest\","]
15318 #[doc = " \"type\": \"object\""]
15319 #[doc = "}"]
15320 #[doc = r" ```"]
15321 #[doc = r" </details>"]
15322 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15323 #[serde(transparent)]
15324 pub struct RpcClientConfigRequest(
15325 pub ::serde_json::Map<::std::string::String, ::serde_json::Value>,
15326 );
15327 impl ::std::ops::Deref for RpcClientConfigRequest {
15328 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
15329 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
15330 &self.0
15331 }
15332 }
15333 impl ::std::convert::From<RpcClientConfigRequest>
15334 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
15335 {
15336 fn from(value: RpcClientConfigRequest) -> Self {
15337 value.0
15338 }
15339 }
15340 impl ::std::convert::From<&RpcClientConfigRequest> for RpcClientConfigRequest {
15341 fn from(value: &RpcClientConfigRequest) -> Self {
15342 value.clone()
15343 }
15344 }
15345 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
15346 for RpcClientConfigRequest
15347 {
15348 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
15349 Self(value)
15350 }
15351 }
15352 #[doc = "ClientConfig where some fields can be updated at runtime."]
15353 #[doc = r""]
15354 #[doc = r" <details><summary>JSON schema</summary>"]
15355 #[doc = r""]
15356 #[doc = r" ```json"]
15357 #[doc = "{"]
15358 #[doc = " \"description\": \"ClientConfig where some fields can be updated at runtime.\","]
15359 #[doc = " \"type\": \"object\","]
15360 #[doc = " \"required\": ["]
15361 #[doc = " \"archive\","]
15362 #[doc = " \"block_fetch_horizon\","]
15363 #[doc = " \"block_header_fetch_horizon\","]
15364 #[doc = " \"block_production_tracking_delay\","]
15365 #[doc = " \"catchup_step_period\","]
15366 #[doc = " \"chain_id\","]
15367 #[doc = " \"chunk_request_retry_period\","]
15368 #[doc = " \"chunk_wait_mult\","]
15369 #[doc = " \"client_background_migration_threads\","]
15370 #[doc = " \"doomslug_step_period\","]
15371 #[doc = " \"enable_multiline_logging\","]
15372 #[doc = " \"enable_statistics_export\","]
15373 #[doc = " \"epoch_length\","]
15374 #[doc = " \"epoch_sync\","]
15375 #[doc = " \"expected_shutdown\","]
15376 #[doc = " \"gc\","]
15377 #[doc = " \"header_sync_expected_height_per_second\","]
15378 #[doc = " \"header_sync_initial_timeout\","]
15379 #[doc = " \"header_sync_progress_timeout\","]
15380 #[doc = " \"header_sync_stall_ban_timeout\","]
15381 #[doc = " \"log_summary_period\","]
15382 #[doc = " \"log_summary_style\","]
15383 #[doc = " \"max_block_production_delay\","]
15384 #[doc = " \"max_block_wait_delay\","]
15385 #[doc = " \"min_block_production_delay\","]
15386 #[doc = " \"min_num_peers\","]
15387 #[doc = " \"num_block_producer_seats\","]
15388 #[doc = " \"orphan_state_witness_max_size\","]
15389 #[doc = " \"orphan_state_witness_pool_size\","]
15390 #[doc = " \"produce_chunk_add_transactions_time_limit\","]
15391 #[doc = " \"produce_empty_blocks\","]
15392 #[doc = " \"resharding_config\","]
15393 #[doc = " \"save_latest_witnesses\","]
15394 #[doc = " \"save_trie_changes\","]
15395 #[doc = " \"skip_sync_wait\","]
15396 #[doc = " \"state_sync\","]
15397 #[doc = " \"state_sync_enabled\","]
15398 #[doc = " \"state_sync_external_backoff\","]
15399 #[doc = " \"state_sync_external_timeout\","]
15400 #[doc = " \"state_sync_p2p_timeout\","]
15401 #[doc = " \"state_sync_retry_backoff\","]
15402 #[doc = " \"sync_check_period\","]
15403 #[doc = " \"sync_height_threshold\","]
15404 #[doc = " \"sync_max_block_requests\","]
15405 #[doc = " \"sync_step_period\","]
15406 #[doc = " \"tracked_shards_config\","]
15407 #[doc = " \"transaction_request_handler_threads\","]
15408 #[doc = " \"ttl_account_id_router\","]
15409 #[doc = " \"tx_routing_height_horizon\","]
15410 #[doc = " \"version\","]
15411 #[doc = " \"view_client_threads\","]
15412 #[doc = " \"view_client_throttle_period\""]
15413 #[doc = " ],"]
15414 #[doc = " \"properties\": {"]
15415 #[doc = " \"archive\": {"]
15416 #[doc = " \"description\": \"Not clear old data, set `true` for archive nodes.\","]
15417 #[doc = " \"type\": \"boolean\""]
15418 #[doc = " },"]
15419 #[doc = " \"block_fetch_horizon\": {"]
15420 #[doc = " \"description\": \"Horizon at which instead of fetching block, fetch full state.\","]
15421 #[doc = " \"type\": \"integer\","]
15422 #[doc = " \"format\": \"uint64\","]
15423 #[doc = " \"minimum\": 0.0"]
15424 #[doc = " },"]
15425 #[doc = " \"block_header_fetch_horizon\": {"]
15426 #[doc = " \"description\": \"Behind this horizon header fetch kicks in.\","]
15427 #[doc = " \"type\": \"integer\","]
15428 #[doc = " \"format\": \"uint64\","]
15429 #[doc = " \"minimum\": 0.0"]
15430 #[doc = " },"]
15431 #[doc = " \"block_production_tracking_delay\": {"]
15432 #[doc = " \"description\": \"Duration to check for producing / skipping block.\","]
15433 #[doc = " \"type\": \"array\","]
15434 #[doc = " \"items\": {"]
15435 #[doc = " \"type\": \"integer\","]
15436 #[doc = " \"format\": \"uint64\","]
15437 #[doc = " \"minimum\": 0.0"]
15438 #[doc = " },"]
15439 #[doc = " \"maxItems\": 2,"]
15440 #[doc = " \"minItems\": 2"]
15441 #[doc = " },"]
15442 #[doc = " \"catchup_step_period\": {"]
15443 #[doc = " \"description\": \"Time between check to perform catchup.\","]
15444 #[doc = " \"type\": \"array\","]
15445 #[doc = " \"items\": {"]
15446 #[doc = " \"type\": \"integer\","]
15447 #[doc = " \"format\": \"uint64\","]
15448 #[doc = " \"minimum\": 0.0"]
15449 #[doc = " },"]
15450 #[doc = " \"maxItems\": 2,"]
15451 #[doc = " \"minItems\": 2"]
15452 #[doc = " },"]
15453 #[doc = " \"chain_id\": {"]
15454 #[doc = " \"description\": \"Chain id for status.\","]
15455 #[doc = " \"type\": \"string\""]
15456 #[doc = " },"]
15457 #[doc = " \"chunk_distribution_network\": {"]
15458 #[doc = " \"description\": \"Optional config for the Chunk Distribution Network feature.\\n If set to `None` then this node does not participate in the Chunk Distribution Network.\\n Nodes not participating will still function fine, but possibly with higher\\n latency due to the need of requesting chunks over the peer-to-peer network.\","]
15459 #[doc = " \"oneOf\": ["]
15460 #[doc = " {"]
15461 #[doc = " \"type\": \"null\""]
15462 #[doc = " },"]
15463 #[doc = " {"]
15464 #[doc = " \"allOf\": ["]
15465 #[doc = " {"]
15466 #[doc = " \"$ref\": \"#/components/schemas/ChunkDistributionNetworkConfig\""]
15467 #[doc = " }"]
15468 #[doc = " ]"]
15469 #[doc = " }"]
15470 #[doc = " ]"]
15471 #[doc = " },"]
15472 #[doc = " \"chunk_request_retry_period\": {"]
15473 #[doc = " \"description\": \"Time between checking to re-request chunks.\","]
15474 #[doc = " \"type\": \"array\","]
15475 #[doc = " \"items\": {"]
15476 #[doc = " \"type\": \"integer\","]
15477 #[doc = " \"format\": \"uint64\","]
15478 #[doc = " \"minimum\": 0.0"]
15479 #[doc = " },"]
15480 #[doc = " \"maxItems\": 2,"]
15481 #[doc = " \"minItems\": 2"]
15482 #[doc = " },"]
15483 #[doc = " \"chunk_wait_mult\": {"]
15484 #[doc = " \"description\": \"Multiplier for the wait time for all chunks to be received.\","]
15485 #[doc = " \"type\": \"array\","]
15486 #[doc = " \"items\": {"]
15487 #[doc = " \"type\": \"integer\","]
15488 #[doc = " \"format\": \"int32\""]
15489 #[doc = " },"]
15490 #[doc = " \"maxItems\": 2,"]
15491 #[doc = " \"minItems\": 2"]
15492 #[doc = " },"]
15493 #[doc = " \"client_background_migration_threads\": {"]
15494 #[doc = " \"description\": \"Number of threads to execute background migration work in client.\","]
15495 #[doc = " \"type\": \"integer\","]
15496 #[doc = " \"format\": \"uint\","]
15497 #[doc = " \"minimum\": 0.0"]
15498 #[doc = " },"]
15499 #[doc = " \"doomslug_step_period\": {"]
15500 #[doc = " \"description\": \"Time between running doomslug timer.\","]
15501 #[doc = " \"type\": \"array\","]
15502 #[doc = " \"items\": {"]
15503 #[doc = " \"type\": \"integer\","]
15504 #[doc = " \"format\": \"uint64\","]
15505 #[doc = " \"minimum\": 0.0"]
15506 #[doc = " },"]
15507 #[doc = " \"maxItems\": 2,"]
15508 #[doc = " \"minItems\": 2"]
15509 #[doc = " },"]
15510 #[doc = " \"enable_multiline_logging\": {"]
15511 #[doc = " \"type\": \"boolean\""]
15512 #[doc = " },"]
15513 #[doc = " \"enable_statistics_export\": {"]
15514 #[doc = " \"description\": \"Re-export storage layer statistics as prometheus metrics.\","]
15515 #[doc = " \"type\": \"boolean\""]
15516 #[doc = " },"]
15517 #[doc = " \"epoch_length\": {"]
15518 #[doc = " \"description\": \"Epoch length.\","]
15519 #[doc = " \"type\": \"integer\","]
15520 #[doc = " \"format\": \"uint64\","]
15521 #[doc = " \"minimum\": 0.0"]
15522 #[doc = " },"]
15523 #[doc = " \"epoch_sync\": {"]
15524 #[doc = " \"description\": \"Options for epoch sync.\","]
15525 #[doc = " \"allOf\": ["]
15526 #[doc = " {"]
15527 #[doc = " \"$ref\": \"#/components/schemas/EpochSyncConfig\""]
15528 #[doc = " }"]
15529 #[doc = " ]"]
15530 #[doc = " },"]
15531 #[doc = " \"expected_shutdown\": {"]
15532 #[doc = " \"description\": \"Graceful shutdown at expected block height.\","]
15533 #[doc = " \"allOf\": ["]
15534 #[doc = " {"]
15535 #[doc = " \"$ref\": \"#/components/schemas/MutableConfigValue\""]
15536 #[doc = " }"]
15537 #[doc = " ]"]
15538 #[doc = " },"]
15539 #[doc = " \"gc\": {"]
15540 #[doc = " \"description\": \"Garbage collection configuration.\","]
15541 #[doc = " \"allOf\": ["]
15542 #[doc = " {"]
15543 #[doc = " \"$ref\": \"#/components/schemas/GCConfig\""]
15544 #[doc = " }"]
15545 #[doc = " ]"]
15546 #[doc = " },"]
15547 #[doc = " \"header_sync_expected_height_per_second\": {"]
15548 #[doc = " \"description\": \"Expected increase of header head height per second during header sync\","]
15549 #[doc = " \"type\": \"integer\","]
15550 #[doc = " \"format\": \"uint64\","]
15551 #[doc = " \"minimum\": 0.0"]
15552 #[doc = " },"]
15553 #[doc = " \"header_sync_initial_timeout\": {"]
15554 #[doc = " \"description\": \"How much time to wait after initial header sync\","]
15555 #[doc = " \"type\": \"array\","]
15556 #[doc = " \"items\": {"]
15557 #[doc = " \"type\": \"integer\","]
15558 #[doc = " \"format\": \"uint64\","]
15559 #[doc = " \"minimum\": 0.0"]
15560 #[doc = " },"]
15561 #[doc = " \"maxItems\": 2,"]
15562 #[doc = " \"minItems\": 2"]
15563 #[doc = " },"]
15564 #[doc = " \"header_sync_progress_timeout\": {"]
15565 #[doc = " \"description\": \"How much time to wait after some progress is made in header sync\","]
15566 #[doc = " \"type\": \"array\","]
15567 #[doc = " \"items\": {"]
15568 #[doc = " \"type\": \"integer\","]
15569 #[doc = " \"format\": \"uint64\","]
15570 #[doc = " \"minimum\": 0.0"]
15571 #[doc = " },"]
15572 #[doc = " \"maxItems\": 2,"]
15573 #[doc = " \"minItems\": 2"]
15574 #[doc = " },"]
15575 #[doc = " \"header_sync_stall_ban_timeout\": {"]
15576 #[doc = " \"description\": \"How much time to wait before banning a peer in header sync if sync is too slow\","]
15577 #[doc = " \"type\": \"array\","]
15578 #[doc = " \"items\": {"]
15579 #[doc = " \"type\": \"integer\","]
15580 #[doc = " \"format\": \"uint64\","]
15581 #[doc = " \"minimum\": 0.0"]
15582 #[doc = " },"]
15583 #[doc = " \"maxItems\": 2,"]
15584 #[doc = " \"minItems\": 2"]
15585 #[doc = " },"]
15586 #[doc = " \"log_summary_period\": {"]
15587 #[doc = " \"description\": \"Period between logging summary information.\","]
15588 #[doc = " \"type\": \"array\","]
15589 #[doc = " \"items\": {"]
15590 #[doc = " \"type\": \"integer\","]
15591 #[doc = " \"format\": \"uint64\","]
15592 #[doc = " \"minimum\": 0.0"]
15593 #[doc = " },"]
15594 #[doc = " \"maxItems\": 2,"]
15595 #[doc = " \"minItems\": 2"]
15596 #[doc = " },"]
15597 #[doc = " \"log_summary_style\": {"]
15598 #[doc = " \"description\": \"Enable coloring of the logs\","]
15599 #[doc = " \"allOf\": ["]
15600 #[doc = " {"]
15601 #[doc = " \"$ref\": \"#/components/schemas/LogSummaryStyle\""]
15602 #[doc = " }"]
15603 #[doc = " ]"]
15604 #[doc = " },"]
15605 #[doc = " \"max_block_production_delay\": {"]
15606 #[doc = " \"description\": \"Maximum wait for approvals before producing block.\","]
15607 #[doc = " \"type\": \"array\","]
15608 #[doc = " \"items\": {"]
15609 #[doc = " \"type\": \"integer\","]
15610 #[doc = " \"format\": \"uint64\","]
15611 #[doc = " \"minimum\": 0.0"]
15612 #[doc = " },"]
15613 #[doc = " \"maxItems\": 2,"]
15614 #[doc = " \"minItems\": 2"]
15615 #[doc = " },"]
15616 #[doc = " \"max_block_wait_delay\": {"]
15617 #[doc = " \"description\": \"Maximum duration before skipping given height.\","]
15618 #[doc = " \"type\": \"array\","]
15619 #[doc = " \"items\": {"]
15620 #[doc = " \"type\": \"integer\","]
15621 #[doc = " \"format\": \"uint64\","]
15622 #[doc = " \"minimum\": 0.0"]
15623 #[doc = " },"]
15624 #[doc = " \"maxItems\": 2,"]
15625 #[doc = " \"minItems\": 2"]
15626 #[doc = " },"]
15627 #[doc = " \"max_gas_burnt_view\": {"]
15628 #[doc = " \"description\": \"Max burnt gas per view method. If present, overrides value stored in\\n genesis file. The value only affects the RPCs without influencing the\\n protocol thus changing it per-node doesn’t affect the blockchain.\","]
15629 #[doc = " \"type\": ["]
15630 #[doc = " \"integer\","]
15631 #[doc = " \"null\""]
15632 #[doc = " ],"]
15633 #[doc = " \"format\": \"uint64\","]
15634 #[doc = " \"minimum\": 0.0"]
15635 #[doc = " },"]
15636 #[doc = " \"min_block_production_delay\": {"]
15637 #[doc = " \"description\": \"Minimum duration before producing block.\","]
15638 #[doc = " \"type\": \"array\","]
15639 #[doc = " \"items\": {"]
15640 #[doc = " \"type\": \"integer\","]
15641 #[doc = " \"format\": \"uint64\","]
15642 #[doc = " \"minimum\": 0.0"]
15643 #[doc = " },"]
15644 #[doc = " \"maxItems\": 2,"]
15645 #[doc = " \"minItems\": 2"]
15646 #[doc = " },"]
15647 #[doc = " \"min_num_peers\": {"]
15648 #[doc = " \"description\": \"Minimum number of peers to start syncing.\","]
15649 #[doc = " \"type\": \"integer\","]
15650 #[doc = " \"format\": \"uint\","]
15651 #[doc = " \"minimum\": 0.0"]
15652 #[doc = " },"]
15653 #[doc = " \"num_block_producer_seats\": {"]
15654 #[doc = " \"description\": \"Number of block producer seats\","]
15655 #[doc = " \"type\": \"integer\","]
15656 #[doc = " \"format\": \"uint64\","]
15657 #[doc = " \"minimum\": 0.0"]
15658 #[doc = " },"]
15659 #[doc = " \"orphan_state_witness_max_size\": {"]
15660 #[doc = " \"description\": \"Maximum size of state witnesses in the OrphanStateWitnessPool.\\n\\n We keep only orphan witnesses which are smaller than this size.\\n This limits the maximum memory usage of OrphanStateWitnessPool.\","]
15661 #[doc = " \"type\": \"integer\","]
15662 #[doc = " \"format\": \"uint64\","]
15663 #[doc = " \"minimum\": 0.0"]
15664 #[doc = " },"]
15665 #[doc = " \"orphan_state_witness_pool_size\": {"]
15666 #[doc = " \"description\": \"OrphanStateWitnessPool keeps instances of ChunkStateWitness which can't be processed\\n because the previous block isn't available. The witnesses wait in the pool until the\\n required block appears. This variable controls how many witnesses can be stored in the pool.\","]
15667 #[doc = " \"type\": \"integer\","]
15668 #[doc = " \"format\": \"uint\","]
15669 #[doc = " \"minimum\": 0.0"]
15670 #[doc = " },"]
15671 #[doc = " \"produce_chunk_add_transactions_time_limit\": {"]
15672 #[doc = " \"description\": \"Limit the time of adding transactions to a chunk.\\n A node produces a chunk by adding transactions from the transaction pool until\\n some limit is reached. This time limit ensures that adding transactions won't take\\n longer than the specified duration, which helps to produce the chunk quickly.\","]
15673 #[doc = " \"type\": \"string\""]
15674 #[doc = " },"]
15675 #[doc = " \"produce_empty_blocks\": {"]
15676 #[doc = " \"description\": \"Produce empty blocks, use `false` for testing.\","]
15677 #[doc = " \"type\": \"boolean\""]
15678 #[doc = " },"]
15679 #[doc = " \"resharding_config\": {"]
15680 #[doc = " \"$ref\": \"#/components/schemas/MutableConfigValue\""]
15681 #[doc = " },"]
15682 #[doc = " \"rpc_addr\": {"]
15683 #[doc = " \"description\": \"Listening rpc port for status.\","]
15684 #[doc = " \"type\": ["]
15685 #[doc = " \"string\","]
15686 #[doc = " \"null\""]
15687 #[doc = " ]"]
15688 #[doc = " },"]
15689 #[doc = " \"save_latest_witnesses\": {"]
15690 #[doc = " \"description\": \"Save observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses.\\n Saving the latest witnesses is useful for analysis and debugging.\\n When this option is enabled, the node will save ALL witnesses it observes, even invalid ones,\\n which can cause extra load on the database. This option is not recommended for production use,\\n as a large number of incoming witnesses could cause denial of service.\","]
15691 #[doc = " \"type\": \"boolean\""]
15692 #[doc = " },"]
15693 #[doc = " \"save_trie_changes\": {"]
15694 #[doc = " \"description\": \"save_trie_changes should be set to true iff\\n - archive if false - non-archival nodes need trie changes to perform garbage collection\\n - archive is true, cold_store is configured and migration to split_storage is finished - node\\n working in split storage mode needs trie changes in order to do garbage collection on hot.\","]
15695 #[doc = " \"type\": \"boolean\""]
15696 #[doc = " },"]
15697 #[doc = " \"skip_sync_wait\": {"]
15698 #[doc = " \"description\": \"Skip waiting for sync (for testing or single node testnet).\","]
15699 #[doc = " \"type\": \"boolean\""]
15700 #[doc = " },"]
15701 #[doc = " \"state_sync\": {"]
15702 #[doc = " \"description\": \"Options for syncing state.\","]
15703 #[doc = " \"allOf\": ["]
15704 #[doc = " {"]
15705 #[doc = " \"$ref\": \"#/components/schemas/StateSyncConfig\""]
15706 #[doc = " }"]
15707 #[doc = " ]"]
15708 #[doc = " },"]
15709 #[doc = " \"state_sync_enabled\": {"]
15710 #[doc = " \"description\": \"Whether to use the State Sync mechanism.\\n If disabled, the node will do Block Sync instead of State Sync.\","]
15711 #[doc = " \"type\": \"boolean\""]
15712 #[doc = " },"]
15713 #[doc = " \"state_sync_external_backoff\": {"]
15714 #[doc = " \"description\": \"Additional waiting period after a failed request to external storage\","]
15715 #[doc = " \"type\": \"array\","]
15716 #[doc = " \"items\": {"]
15717 #[doc = " \"type\": \"integer\","]
15718 #[doc = " \"format\": \"uint64\","]
15719 #[doc = " \"minimum\": 0.0"]
15720 #[doc = " },"]
15721 #[doc = " \"maxItems\": 2,"]
15722 #[doc = " \"minItems\": 2"]
15723 #[doc = " },"]
15724 #[doc = " \"state_sync_external_timeout\": {"]
15725 #[doc = " \"description\": \"How long to wait for a response from centralized state sync\","]
15726 #[doc = " \"type\": \"array\","]
15727 #[doc = " \"items\": {"]
15728 #[doc = " \"type\": \"integer\","]
15729 #[doc = " \"format\": \"uint64\","]
15730 #[doc = " \"minimum\": 0.0"]
15731 #[doc = " },"]
15732 #[doc = " \"maxItems\": 2,"]
15733 #[doc = " \"minItems\": 2"]
15734 #[doc = " },"]
15735 #[doc = " \"state_sync_p2p_timeout\": {"]
15736 #[doc = " \"description\": \"How long to wait for a response from p2p state sync\","]
15737 #[doc = " \"type\": \"array\","]
15738 #[doc = " \"items\": {"]
15739 #[doc = " \"type\": \"integer\","]
15740 #[doc = " \"format\": \"uint64\","]
15741 #[doc = " \"minimum\": 0.0"]
15742 #[doc = " },"]
15743 #[doc = " \"maxItems\": 2,"]
15744 #[doc = " \"minItems\": 2"]
15745 #[doc = " },"]
15746 #[doc = " \"state_sync_retry_backoff\": {"]
15747 #[doc = " \"description\": \"How long to wait after a failed state sync request\","]
15748 #[doc = " \"type\": \"array\","]
15749 #[doc = " \"items\": {"]
15750 #[doc = " \"type\": \"integer\","]
15751 #[doc = " \"format\": \"uint64\","]
15752 #[doc = " \"minimum\": 0.0"]
15753 #[doc = " },"]
15754 #[doc = " \"maxItems\": 2,"]
15755 #[doc = " \"minItems\": 2"]
15756 #[doc = " },"]
15757 #[doc = " \"sync_check_period\": {"]
15758 #[doc = " \"description\": \"How often to check that we are not out of sync.\","]
15759 #[doc = " \"type\": \"array\","]
15760 #[doc = " \"items\": {"]
15761 #[doc = " \"type\": \"integer\","]
15762 #[doc = " \"format\": \"uint64\","]
15763 #[doc = " \"minimum\": 0.0"]
15764 #[doc = " },"]
15765 #[doc = " \"maxItems\": 2,"]
15766 #[doc = " \"minItems\": 2"]
15767 #[doc = " },"]
15768 #[doc = " \"sync_height_threshold\": {"]
15769 #[doc = " \"description\": \"Sync height threshold: below this difference in height don't start syncing.\","]
15770 #[doc = " \"type\": \"integer\","]
15771 #[doc = " \"format\": \"uint64\","]
15772 #[doc = " \"minimum\": 0.0"]
15773 #[doc = " },"]
15774 #[doc = " \"sync_max_block_requests\": {"]
15775 #[doc = " \"description\": \"Maximum number of block requests to send to peers to sync\","]
15776 #[doc = " \"type\": \"integer\","]
15777 #[doc = " \"format\": \"uint\","]
15778 #[doc = " \"minimum\": 0.0"]
15779 #[doc = " },"]
15780 #[doc = " \"sync_step_period\": {"]
15781 #[doc = " \"description\": \"While syncing, how long to check for each step.\","]
15782 #[doc = " \"type\": \"array\","]
15783 #[doc = " \"items\": {"]
15784 #[doc = " \"type\": \"integer\","]
15785 #[doc = " \"format\": \"uint64\","]
15786 #[doc = " \"minimum\": 0.0"]
15787 #[doc = " },"]
15788 #[doc = " \"maxItems\": 2,"]
15789 #[doc = " \"minItems\": 2"]
15790 #[doc = " },"]
15791 #[doc = " \"tracked_shards_config\": {"]
15792 #[doc = " \"$ref\": \"#/components/schemas/TrackedShardsConfig\""]
15793 #[doc = " },"]
15794 #[doc = " \"transaction_pool_size_limit\": {"]
15795 #[doc = " \"description\": \"Limit of the size of per-shard transaction pool measured in bytes. If not set, the size\\n will be unbounded.\","]
15796 #[doc = " \"type\": ["]
15797 #[doc = " \"integer\","]
15798 #[doc = " \"null\""]
15799 #[doc = " ],"]
15800 #[doc = " \"format\": \"uint64\","]
15801 #[doc = " \"minimum\": 0.0"]
15802 #[doc = " },"]
15803 #[doc = " \"transaction_request_handler_threads\": {"]
15804 #[doc = " \"type\": \"integer\","]
15805 #[doc = " \"format\": \"uint\","]
15806 #[doc = " \"minimum\": 0.0"]
15807 #[doc = " },"]
15808 #[doc = " \"trie_viewer_state_size_limit\": {"]
15809 #[doc = " \"description\": \"Upper bound of the byte size of contract state that is still viewable. None is no limit\","]
15810 #[doc = " \"type\": ["]
15811 #[doc = " \"integer\","]
15812 #[doc = " \"null\""]
15813 #[doc = " ],"]
15814 #[doc = " \"format\": \"uint64\","]
15815 #[doc = " \"minimum\": 0.0"]
15816 #[doc = " },"]
15817 #[doc = " \"ttl_account_id_router\": {"]
15818 #[doc = " \"description\": \"Time to persist Accounts Id in the router without removing them.\","]
15819 #[doc = " \"type\": \"array\","]
15820 #[doc = " \"items\": {"]
15821 #[doc = " \"type\": \"integer\","]
15822 #[doc = " \"format\": \"uint64\","]
15823 #[doc = " \"minimum\": 0.0"]
15824 #[doc = " },"]
15825 #[doc = " \"maxItems\": 2,"]
15826 #[doc = " \"minItems\": 2"]
15827 #[doc = " },"]
15828 #[doc = " \"tx_routing_height_horizon\": {"]
15829 #[doc = " \"description\": \"If the node is not a chunk producer within that many blocks, then route\\n to upcoming chunk producers.\","]
15830 #[doc = " \"type\": \"integer\","]
15831 #[doc = " \"format\": \"uint64\","]
15832 #[doc = " \"minimum\": 0.0"]
15833 #[doc = " },"]
15834 #[doc = " \"version\": {"]
15835 #[doc = " \"description\": \"Version of the binary.\","]
15836 #[doc = " \"allOf\": ["]
15837 #[doc = " {"]
15838 #[doc = " \"$ref\": \"#/components/schemas/Version\""]
15839 #[doc = " }"]
15840 #[doc = " ]"]
15841 #[doc = " },"]
15842 #[doc = " \"view_client_threads\": {"]
15843 #[doc = " \"description\": \"Number of threads for ViewClientActor pool.\","]
15844 #[doc = " \"type\": \"integer\","]
15845 #[doc = " \"format\": \"uint\","]
15846 #[doc = " \"minimum\": 0.0"]
15847 #[doc = " },"]
15848 #[doc = " \"view_client_throttle_period\": {"]
15849 #[doc = " \"description\": \"Number of seconds between state requests for view client.\","]
15850 #[doc = " \"type\": \"array\","]
15851 #[doc = " \"items\": {"]
15852 #[doc = " \"type\": \"integer\","]
15853 #[doc = " \"format\": \"uint64\","]
15854 #[doc = " \"minimum\": 0.0"]
15855 #[doc = " },"]
15856 #[doc = " \"maxItems\": 2,"]
15857 #[doc = " \"minItems\": 2"]
15858 #[doc = " }"]
15859 #[doc = " }"]
15860 #[doc = "}"]
15861 #[doc = r" ```"]
15862 #[doc = r" </details>"]
15863 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
15864 pub struct RpcClientConfigResponse {
15865 #[doc = "Not clear old data, set `true` for archive nodes."]
15866 pub archive: bool,
15867 #[doc = "Horizon at which instead of fetching block, fetch full state."]
15868 pub block_fetch_horizon: u64,
15869 #[doc = "Behind this horizon header fetch kicks in."]
15870 pub block_header_fetch_horizon: u64,
15871 #[doc = "Duration to check for producing / skipping block."]
15872 pub block_production_tracking_delay: [u64; 2usize],
15873 #[doc = "Time between check to perform catchup."]
15874 pub catchup_step_period: [u64; 2usize],
15875 #[doc = "Chain id for status."]
15876 pub chain_id: ::std::string::String,
15877 #[doc = "Optional config for the Chunk Distribution Network feature.\n If set to `None` then this node does not participate in the Chunk Distribution Network.\n Nodes not participating will still function fine, but possibly with higher\n latency due to the need of requesting chunks over the peer-to-peer network."]
15878 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
15879 pub chunk_distribution_network: ::std::option::Option<ChunkDistributionNetworkConfig>,
15880 #[doc = "Time between checking to re-request chunks."]
15881 pub chunk_request_retry_period: [u64; 2usize],
15882 #[doc = "Multiplier for the wait time for all chunks to be received."]
15883 pub chunk_wait_mult: [i32; 2usize],
15884 #[doc = "Number of threads to execute background migration work in client."]
15885 pub client_background_migration_threads: u32,
15886 #[doc = "Time between running doomslug timer."]
15887 pub doomslug_step_period: [u64; 2usize],
15888 pub enable_multiline_logging: bool,
15889 #[doc = "Re-export storage layer statistics as prometheus metrics."]
15890 pub enable_statistics_export: bool,
15891 #[doc = "Epoch length."]
15892 pub epoch_length: u64,
15893 #[doc = "Options for epoch sync."]
15894 pub epoch_sync: EpochSyncConfig,
15895 #[doc = "Graceful shutdown at expected block height."]
15896 pub expected_shutdown: MutableConfigValue,
15897 #[doc = "Garbage collection configuration."]
15898 pub gc: GcConfig,
15899 #[doc = "Expected increase of header head height per second during header sync"]
15900 pub header_sync_expected_height_per_second: u64,
15901 #[doc = "How much time to wait after initial header sync"]
15902 pub header_sync_initial_timeout: [u64; 2usize],
15903 #[doc = "How much time to wait after some progress is made in header sync"]
15904 pub header_sync_progress_timeout: [u64; 2usize],
15905 #[doc = "How much time to wait before banning a peer in header sync if sync is too slow"]
15906 pub header_sync_stall_ban_timeout: [u64; 2usize],
15907 #[doc = "Period between logging summary information."]
15908 pub log_summary_period: [u64; 2usize],
15909 #[doc = "Enable coloring of the logs"]
15910 pub log_summary_style: LogSummaryStyle,
15911 #[doc = "Maximum wait for approvals before producing block."]
15912 pub max_block_production_delay: [u64; 2usize],
15913 #[doc = "Maximum duration before skipping given height."]
15914 pub max_block_wait_delay: [u64; 2usize],
15915 #[doc = "Max burnt gas per view method. If present, overrides value stored in\n genesis file. The value only affects the RPCs without influencing the\n protocol thus changing it per-node doesn’t affect the blockchain."]
15916 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
15917 pub max_gas_burnt_view: ::std::option::Option<u64>,
15918 #[doc = "Minimum duration before producing block."]
15919 pub min_block_production_delay: [u64; 2usize],
15920 #[doc = "Minimum number of peers to start syncing."]
15921 pub min_num_peers: u32,
15922 #[doc = "Number of block producer seats"]
15923 pub num_block_producer_seats: u64,
15924 #[doc = "Maximum size of state witnesses in the OrphanStateWitnessPool.\n\n We keep only orphan witnesses which are smaller than this size.\n This limits the maximum memory usage of OrphanStateWitnessPool."]
15925 pub orphan_state_witness_max_size: u64,
15926 #[doc = "OrphanStateWitnessPool keeps instances of ChunkStateWitness which can't be processed\n because the previous block isn't available. The witnesses wait in the pool until the\n required block appears. This variable controls how many witnesses can be stored in the pool."]
15927 pub orphan_state_witness_pool_size: u32,
15928 #[doc = "Limit the time of adding transactions to a chunk.\n A node produces a chunk by adding transactions from the transaction pool until\n some limit is reached. This time limit ensures that adding transactions won't take\n longer than the specified duration, which helps to produce the chunk quickly."]
15929 pub produce_chunk_add_transactions_time_limit: ::std::string::String,
15930 #[doc = "Produce empty blocks, use `false` for testing."]
15931 pub produce_empty_blocks: bool,
15932 pub resharding_config: MutableConfigValue,
15933 #[doc = "Listening rpc port for status."]
15934 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
15935 pub rpc_addr: ::std::option::Option<::std::string::String>,
15936 #[doc = "Save observed instances of ChunkStateWitness to the database in DBCol::LatestChunkStateWitnesses.\n Saving the latest witnesses is useful for analysis and debugging.\n When this option is enabled, the node will save ALL witnesses it observes, even invalid ones,\n which can cause extra load on the database. This option is not recommended for production use,\n as a large number of incoming witnesses could cause denial of service."]
15937 pub save_latest_witnesses: bool,
15938 #[doc = "save_trie_changes should be set to true iff\n - archive if false - non-archival nodes need trie changes to perform garbage collection\n - archive is true, cold_store is configured and migration to split_storage is finished - node\n working in split storage mode needs trie changes in order to do garbage collection on hot."]
15939 pub save_trie_changes: bool,
15940 #[doc = "Skip waiting for sync (for testing or single node testnet)."]
15941 pub skip_sync_wait: bool,
15942 #[doc = "Options for syncing state."]
15943 pub state_sync: StateSyncConfig,
15944 #[doc = "Whether to use the State Sync mechanism.\n If disabled, the node will do Block Sync instead of State Sync."]
15945 pub state_sync_enabled: bool,
15946 #[doc = "Additional waiting period after a failed request to external storage"]
15947 pub state_sync_external_backoff: [u64; 2usize],
15948 #[doc = "How long to wait for a response from centralized state sync"]
15949 pub state_sync_external_timeout: [u64; 2usize],
15950 #[doc = "How long to wait for a response from p2p state sync"]
15951 pub state_sync_p2p_timeout: [u64; 2usize],
15952 #[doc = "How long to wait after a failed state sync request"]
15953 pub state_sync_retry_backoff: [u64; 2usize],
15954 #[doc = "How often to check that we are not out of sync."]
15955 pub sync_check_period: [u64; 2usize],
15956 #[doc = "Sync height threshold: below this difference in height don't start syncing."]
15957 pub sync_height_threshold: u64,
15958 #[doc = "Maximum number of block requests to send to peers to sync"]
15959 pub sync_max_block_requests: u32,
15960 #[doc = "While syncing, how long to check for each step."]
15961 pub sync_step_period: [u64; 2usize],
15962 pub tracked_shards_config: TrackedShardsConfig,
15963 #[doc = "Limit of the size of per-shard transaction pool measured in bytes. If not set, the size\n will be unbounded."]
15964 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
15965 pub transaction_pool_size_limit: ::std::option::Option<u64>,
15966 pub transaction_request_handler_threads: u32,
15967 #[doc = "Upper bound of the byte size of contract state that is still viewable. None is no limit"]
15968 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
15969 pub trie_viewer_state_size_limit: ::std::option::Option<u64>,
15970 #[doc = "Time to persist Accounts Id in the router without removing them."]
15971 pub ttl_account_id_router: [u64; 2usize],
15972 #[doc = "If the node is not a chunk producer within that many blocks, then route\n to upcoming chunk producers."]
15973 pub tx_routing_height_horizon: u64,
15974 #[doc = "Version of the binary."]
15975 pub version: Version,
15976 #[doc = "Number of threads for ViewClientActor pool."]
15977 pub view_client_threads: u32,
15978 #[doc = "Number of seconds between state requests for view client."]
15979 pub view_client_throttle_period: [u64; 2usize],
15980 }
15981 impl ::std::convert::From<&RpcClientConfigResponse> for RpcClientConfigResponse {
15982 fn from(value: &RpcClientConfigResponse) -> Self {
15983 value.clone()
15984 }
15985 }
15986 #[doc = "`RpcCongestionLevelRequest`"]
15987 #[doc = r""]
15988 #[doc = r" <details><summary>JSON schema</summary>"]
15989 #[doc = r""]
15990 #[doc = r" ```json"]
15991 #[doc = "{"]
15992 #[doc = " \"title\": \"RpcCongestionLevelRequest\","]
15993 #[doc = " \"type\": \"object\","]
15994 #[doc = " \"anyOf\": ["]
15995 #[doc = " {"]
15996 #[doc = " \"type\": \"object\","]
15997 #[doc = " \"required\": ["]
15998 #[doc = " \"block_id\","]
15999 #[doc = " \"shard_id\""]
16000 #[doc = " ],"]
16001 #[doc = " \"properties\": {"]
16002 #[doc = " \"block_id\": {"]
16003 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
16004 #[doc = " },"]
16005 #[doc = " \"shard_id\": {"]
16006 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
16007 #[doc = " }"]
16008 #[doc = " }"]
16009 #[doc = " },"]
16010 #[doc = " {"]
16011 #[doc = " \"type\": \"object\","]
16012 #[doc = " \"required\": ["]
16013 #[doc = " \"chunk_id\""]
16014 #[doc = " ],"]
16015 #[doc = " \"properties\": {"]
16016 #[doc = " \"chunk_id\": {"]
16017 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16018 #[doc = " }"]
16019 #[doc = " }"]
16020 #[doc = " }"]
16021 #[doc = " ]"]
16022 #[doc = "}"]
16023 #[doc = r" ```"]
16024 #[doc = r" </details>"]
16025 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16026 #[serde(untagged)]
16027 pub enum RpcCongestionLevelRequest {
16028 Variant0 {
16029 block_id: BlockId,
16030 shard_id: ShardId,
16031 },
16032 Variant1 {
16033 chunk_id: CryptoHash,
16034 },
16035 }
16036 impl ::std::convert::From<&Self> for RpcCongestionLevelRequest {
16037 fn from(value: &RpcCongestionLevelRequest) -> Self {
16038 value.clone()
16039 }
16040 }
16041 #[doc = "`RpcCongestionLevelResponse`"]
16042 #[doc = r""]
16043 #[doc = r" <details><summary>JSON schema</summary>"]
16044 #[doc = r""]
16045 #[doc = r" ```json"]
16046 #[doc = "{"]
16047 #[doc = " \"type\": \"object\","]
16048 #[doc = " \"required\": ["]
16049 #[doc = " \"congestion_level\""]
16050 #[doc = " ],"]
16051 #[doc = " \"properties\": {"]
16052 #[doc = " \"congestion_level\": {"]
16053 #[doc = " \"type\": \"number\","]
16054 #[doc = " \"format\": \"double\""]
16055 #[doc = " }"]
16056 #[doc = " }"]
16057 #[doc = "}"]
16058 #[doc = r" ```"]
16059 #[doc = r" </details>"]
16060 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16061 pub struct RpcCongestionLevelResponse {
16062 pub congestion_level: f64,
16063 }
16064 impl ::std::convert::From<&RpcCongestionLevelResponse> for RpcCongestionLevelResponse {
16065 fn from(value: &RpcCongestionLevelResponse) -> Self {
16066 value.clone()
16067 }
16068 }
16069 #[doc = "`RpcError`"]
16070 #[doc = r""]
16071 #[doc = r" <details><summary>JSON schema</summary>"]
16072 #[doc = r""]
16073 #[doc = r" ```json"]
16074 #[doc = "{"]
16075 #[doc = " \"type\": \"object\","]
16076 #[doc = " \"required\": ["]
16077 #[doc = " \"code\","]
16078 #[doc = " \"message\""]
16079 #[doc = " ],"]
16080 #[doc = " \"properties\": {"]
16081 #[doc = " \"cause\": {"]
16082 #[doc = " \"oneOf\": ["]
16083 #[doc = " {"]
16084 #[doc = " \"type\": \"null\""]
16085 #[doc = " },"]
16086 #[doc = " {"]
16087 #[doc = " \"allOf\": ["]
16088 #[doc = " {"]
16089 #[doc = " \"$ref\": \"#/components/schemas/CauseRpcErrorKind\""]
16090 #[doc = " }"]
16091 #[doc = " ]"]
16092 #[doc = " }"]
16093 #[doc = " ]"]
16094 #[doc = " },"]
16095 #[doc = " \"code\": {"]
16096 #[doc = " \"type\": \"integer\","]
16097 #[doc = " \"format\": \"int64\""]
16098 #[doc = " },"]
16099 #[doc = " \"data\": {},"]
16100 #[doc = " \"message\": {"]
16101 #[doc = " \"type\": \"string\""]
16102 #[doc = " },"]
16103 #[doc = " \"name\": {"]
16104 #[doc = " \"oneOf\": ["]
16105 #[doc = " {"]
16106 #[doc = " \"type\": \"null\""]
16107 #[doc = " },"]
16108 #[doc = " {"]
16109 #[doc = " \"allOf\": ["]
16110 #[doc = " {"]
16111 #[doc = " \"$ref\": \"#/components/schemas/NameRpcErrorKind\""]
16112 #[doc = " }"]
16113 #[doc = " ]"]
16114 #[doc = " }"]
16115 #[doc = " ]"]
16116 #[doc = " }"]
16117 #[doc = " }"]
16118 #[doc = "}"]
16119 #[doc = r" ```"]
16120 #[doc = r" </details>"]
16121 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16122 pub struct RpcError {
16123 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16124 pub cause: ::std::option::Option<CauseRpcErrorKind>,
16125 pub code: i64,
16126 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16127 pub data: ::std::option::Option<::serde_json::Value>,
16128 pub message: ::std::string::String,
16129 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16130 pub name: ::std::option::Option<NameRpcErrorKind>,
16131 }
16132 impl ::std::convert::From<&RpcError> for RpcError {
16133 fn from(value: &RpcError) -> Self {
16134 value.clone()
16135 }
16136 }
16137 #[doc = "`RpcGasPriceRequest`"]
16138 #[doc = r""]
16139 #[doc = r" <details><summary>JSON schema</summary>"]
16140 #[doc = r""]
16141 #[doc = r" ```json"]
16142 #[doc = "{"]
16143 #[doc = " \"title\": \"RpcGasPriceRequest\","]
16144 #[doc = " \"type\": \"object\","]
16145 #[doc = " \"properties\": {"]
16146 #[doc = " \"block_id\": {"]
16147 #[doc = " \"oneOf\": ["]
16148 #[doc = " {"]
16149 #[doc = " \"type\": \"null\""]
16150 #[doc = " },"]
16151 #[doc = " {"]
16152 #[doc = " \"allOf\": ["]
16153 #[doc = " {"]
16154 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
16155 #[doc = " }"]
16156 #[doc = " ]"]
16157 #[doc = " }"]
16158 #[doc = " ]"]
16159 #[doc = " }"]
16160 #[doc = " }"]
16161 #[doc = "}"]
16162 #[doc = r" ```"]
16163 #[doc = r" </details>"]
16164 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16165 pub struct RpcGasPriceRequest {
16166 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16167 pub block_id: ::std::option::Option<BlockId>,
16168 }
16169 impl ::std::convert::From<&RpcGasPriceRequest> for RpcGasPriceRequest {
16170 fn from(value: &RpcGasPriceRequest) -> Self {
16171 value.clone()
16172 }
16173 }
16174 impl ::std::default::Default for RpcGasPriceRequest {
16175 fn default() -> Self {
16176 Self {
16177 block_id: Default::default(),
16178 }
16179 }
16180 }
16181 #[doc = "`RpcGasPriceResponse`"]
16182 #[doc = r""]
16183 #[doc = r" <details><summary>JSON schema</summary>"]
16184 #[doc = r""]
16185 #[doc = r" ```json"]
16186 #[doc = "{"]
16187 #[doc = " \"type\": \"object\","]
16188 #[doc = " \"required\": ["]
16189 #[doc = " \"gas_price\""]
16190 #[doc = " ],"]
16191 #[doc = " \"properties\": {"]
16192 #[doc = " \"gas_price\": {"]
16193 #[doc = " \"type\": \"string\""]
16194 #[doc = " }"]
16195 #[doc = " }"]
16196 #[doc = "}"]
16197 #[doc = r" ```"]
16198 #[doc = r" </details>"]
16199 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16200 pub struct RpcGasPriceResponse {
16201 pub gas_price: ::std::string::String,
16202 }
16203 impl ::std::convert::From<&RpcGasPriceResponse> for RpcGasPriceResponse {
16204 fn from(value: &RpcGasPriceResponse) -> Self {
16205 value.clone()
16206 }
16207 }
16208 #[doc = "`RpcHealthRequest`"]
16209 #[doc = r""]
16210 #[doc = r" <details><summary>JSON schema</summary>"]
16211 #[doc = r""]
16212 #[doc = r" ```json"]
16213 #[doc = "{"]
16214 #[doc = " \"title\": \"RpcHealthRequest\","]
16215 #[doc = " \"type\": \"object\""]
16216 #[doc = "}"]
16217 #[doc = r" ```"]
16218 #[doc = r" </details>"]
16219 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16220 #[serde(transparent)]
16221 pub struct RpcHealthRequest(pub ::serde_json::Map<::std::string::String, ::serde_json::Value>);
16222 impl ::std::ops::Deref for RpcHealthRequest {
16223 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
16224 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
16225 &self.0
16226 }
16227 }
16228 impl ::std::convert::From<RpcHealthRequest>
16229 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
16230 {
16231 fn from(value: RpcHealthRequest) -> Self {
16232 value.0
16233 }
16234 }
16235 impl ::std::convert::From<&RpcHealthRequest> for RpcHealthRequest {
16236 fn from(value: &RpcHealthRequest) -> Self {
16237 value.clone()
16238 }
16239 }
16240 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
16241 for RpcHealthRequest
16242 {
16243 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
16244 Self(value)
16245 }
16246 }
16247 #[doc = "`RpcHealthResponse`"]
16248 #[doc = r""]
16249 #[doc = r" <details><summary>JSON schema</summary>"]
16250 #[doc = r""]
16251 #[doc = r" ```json"]
16252 #[doc = "{"]
16253 #[doc = " \"type\": \"object\""]
16254 #[doc = "}"]
16255 #[doc = r" ```"]
16256 #[doc = r" </details>"]
16257 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16258 #[serde(transparent)]
16259 pub struct RpcHealthResponse(pub ::serde_json::Map<::std::string::String, ::serde_json::Value>);
16260 impl ::std::ops::Deref for RpcHealthResponse {
16261 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
16262 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
16263 &self.0
16264 }
16265 }
16266 impl ::std::convert::From<RpcHealthResponse>
16267 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
16268 {
16269 fn from(value: RpcHealthResponse) -> Self {
16270 value.0
16271 }
16272 }
16273 impl ::std::convert::From<&RpcHealthResponse> for RpcHealthResponse {
16274 fn from(value: &RpcHealthResponse) -> Self {
16275 value.clone()
16276 }
16277 }
16278 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
16279 for RpcHealthResponse
16280 {
16281 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
16282 Self(value)
16283 }
16284 }
16285 #[doc = "`RpcKnownProducer`"]
16286 #[doc = r""]
16287 #[doc = r" <details><summary>JSON schema</summary>"]
16288 #[doc = r""]
16289 #[doc = r" ```json"]
16290 #[doc = "{"]
16291 #[doc = " \"type\": \"object\","]
16292 #[doc = " \"required\": ["]
16293 #[doc = " \"account_id\","]
16294 #[doc = " \"peer_id\""]
16295 #[doc = " ],"]
16296 #[doc = " \"properties\": {"]
16297 #[doc = " \"account_id\": {"]
16298 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
16299 #[doc = " },"]
16300 #[doc = " \"addr\": {"]
16301 #[doc = " \"type\": ["]
16302 #[doc = " \"string\","]
16303 #[doc = " \"null\""]
16304 #[doc = " ]"]
16305 #[doc = " },"]
16306 #[doc = " \"peer_id\": {"]
16307 #[doc = " \"$ref\": \"#/components/schemas/PeerId\""]
16308 #[doc = " }"]
16309 #[doc = " }"]
16310 #[doc = "}"]
16311 #[doc = r" ```"]
16312 #[doc = r" </details>"]
16313 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16314 pub struct RpcKnownProducer {
16315 pub account_id: AccountId,
16316 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16317 pub addr: ::std::option::Option<::std::string::String>,
16318 pub peer_id: PeerId,
16319 }
16320 impl ::std::convert::From<&RpcKnownProducer> for RpcKnownProducer {
16321 fn from(value: &RpcKnownProducer) -> Self {
16322 value.clone()
16323 }
16324 }
16325 #[doc = "`RpcLightClientBlockProofRequest`"]
16326 #[doc = r""]
16327 #[doc = r" <details><summary>JSON schema</summary>"]
16328 #[doc = r""]
16329 #[doc = r" ```json"]
16330 #[doc = "{"]
16331 #[doc = " \"title\": \"RpcLightClientBlockProofRequest\","]
16332 #[doc = " \"type\": \"object\","]
16333 #[doc = " \"required\": ["]
16334 #[doc = " \"block_hash\","]
16335 #[doc = " \"light_client_head\""]
16336 #[doc = " ],"]
16337 #[doc = " \"properties\": {"]
16338 #[doc = " \"block_hash\": {"]
16339 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16340 #[doc = " },"]
16341 #[doc = " \"light_client_head\": {"]
16342 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16343 #[doc = " }"]
16344 #[doc = " }"]
16345 #[doc = "}"]
16346 #[doc = r" ```"]
16347 #[doc = r" </details>"]
16348 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16349 pub struct RpcLightClientBlockProofRequest {
16350 pub block_hash: CryptoHash,
16351 pub light_client_head: CryptoHash,
16352 }
16353 impl ::std::convert::From<&RpcLightClientBlockProofRequest> for RpcLightClientBlockProofRequest {
16354 fn from(value: &RpcLightClientBlockProofRequest) -> Self {
16355 value.clone()
16356 }
16357 }
16358 #[doc = "`RpcLightClientBlockProofResponse`"]
16359 #[doc = r""]
16360 #[doc = r" <details><summary>JSON schema</summary>"]
16361 #[doc = r""]
16362 #[doc = r" ```json"]
16363 #[doc = "{"]
16364 #[doc = " \"type\": \"object\","]
16365 #[doc = " \"required\": ["]
16366 #[doc = " \"block_header_lite\","]
16367 #[doc = " \"block_proof\""]
16368 #[doc = " ],"]
16369 #[doc = " \"properties\": {"]
16370 #[doc = " \"block_header_lite\": {"]
16371 #[doc = " \"$ref\": \"#/components/schemas/LightClientBlockLiteView\""]
16372 #[doc = " },"]
16373 #[doc = " \"block_proof\": {"]
16374 #[doc = " \"type\": \"array\","]
16375 #[doc = " \"items\": {"]
16376 #[doc = " \"$ref\": \"#/components/schemas/MerklePathItem\""]
16377 #[doc = " }"]
16378 #[doc = " }"]
16379 #[doc = " }"]
16380 #[doc = "}"]
16381 #[doc = r" ```"]
16382 #[doc = r" </details>"]
16383 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16384 pub struct RpcLightClientBlockProofResponse {
16385 pub block_header_lite: LightClientBlockLiteView,
16386 pub block_proof: ::std::vec::Vec<MerklePathItem>,
16387 }
16388 impl ::std::convert::From<&RpcLightClientBlockProofResponse> for RpcLightClientBlockProofResponse {
16389 fn from(value: &RpcLightClientBlockProofResponse) -> Self {
16390 value.clone()
16391 }
16392 }
16393 #[doc = "`RpcLightClientExecutionProofRequest`"]
16394 #[doc = r""]
16395 #[doc = r" <details><summary>JSON schema</summary>"]
16396 #[doc = r""]
16397 #[doc = r" ```json"]
16398 #[doc = "{"]
16399 #[doc = " \"title\": \"RpcLightClientExecutionProofRequest\","]
16400 #[doc = " \"type\": \"object\","]
16401 #[doc = " \"anyOf\": ["]
16402 #[doc = " {"]
16403 #[doc = " \"type\": \"object\","]
16404 #[doc = " \"required\": ["]
16405 #[doc = " \"sender_id\","]
16406 #[doc = " \"transaction_hash\""]
16407 #[doc = " ],"]
16408 #[doc = " \"properties\": {"]
16409 #[doc = " \"sender_id\": {"]
16410 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
16411 #[doc = " },"]
16412 #[doc = " \"transaction_hash\": {"]
16413 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16414 #[doc = " }"]
16415 #[doc = " }"]
16416 #[doc = " },"]
16417 #[doc = " {"]
16418 #[doc = " \"type\": \"object\","]
16419 #[doc = " \"required\": ["]
16420 #[doc = " \"receipt_id\","]
16421 #[doc = " \"receiver_id\""]
16422 #[doc = " ],"]
16423 #[doc = " \"properties\": {"]
16424 #[doc = " \"receipt_id\": {"]
16425 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16426 #[doc = " },"]
16427 #[doc = " \"receiver_id\": {"]
16428 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
16429 #[doc = " }"]
16430 #[doc = " }"]
16431 #[doc = " }"]
16432 #[doc = " ],"]
16433 #[doc = " \"required\": ["]
16434 #[doc = " \"light_client_head\","]
16435 #[doc = " \"type\""]
16436 #[doc = " ],"]
16437 #[doc = " \"properties\": {"]
16438 #[doc = " \"light_client_head\": {"]
16439 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16440 #[doc = " },"]
16441 #[doc = " \"type\": {"]
16442 #[doc = " \"$ref\": \"#/components/schemas/TypeTransactionOrReceiptId\""]
16443 #[doc = " }"]
16444 #[doc = " }"]
16445 #[doc = "}"]
16446 #[doc = r" ```"]
16447 #[doc = r" </details>"]
16448 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16449 #[serde(untagged)]
16450 pub enum RpcLightClientExecutionProofRequest {
16451 Variant0 {
16452 light_client_head: CryptoHash,
16453 sender_id: AccountId,
16454 transaction_hash: CryptoHash,
16455 #[serde(rename = "type")]
16456 type_: TypeTransactionOrReceiptId,
16457 },
16458 Variant1 {
16459 light_client_head: CryptoHash,
16460 receipt_id: CryptoHash,
16461 receiver_id: AccountId,
16462 #[serde(rename = "type")]
16463 type_: TypeTransactionOrReceiptId,
16464 },
16465 }
16466 impl ::std::convert::From<&Self> for RpcLightClientExecutionProofRequest {
16467 fn from(value: &RpcLightClientExecutionProofRequest) -> Self {
16468 value.clone()
16469 }
16470 }
16471 #[doc = "`RpcLightClientExecutionProofResponse`"]
16472 #[doc = r""]
16473 #[doc = r" <details><summary>JSON schema</summary>"]
16474 #[doc = r""]
16475 #[doc = r" ```json"]
16476 #[doc = "{"]
16477 #[doc = " \"type\": \"object\","]
16478 #[doc = " \"required\": ["]
16479 #[doc = " \"block_header_lite\","]
16480 #[doc = " \"block_proof\","]
16481 #[doc = " \"outcome_proof\","]
16482 #[doc = " \"outcome_root_proof\""]
16483 #[doc = " ],"]
16484 #[doc = " \"properties\": {"]
16485 #[doc = " \"block_header_lite\": {"]
16486 #[doc = " \"$ref\": \"#/components/schemas/LightClientBlockLiteView\""]
16487 #[doc = " },"]
16488 #[doc = " \"block_proof\": {"]
16489 #[doc = " \"type\": \"array\","]
16490 #[doc = " \"items\": {"]
16491 #[doc = " \"$ref\": \"#/components/schemas/MerklePathItem\""]
16492 #[doc = " }"]
16493 #[doc = " },"]
16494 #[doc = " \"outcome_proof\": {"]
16495 #[doc = " \"$ref\": \"#/components/schemas/ExecutionOutcomeWithIdView\""]
16496 #[doc = " },"]
16497 #[doc = " \"outcome_root_proof\": {"]
16498 #[doc = " \"type\": \"array\","]
16499 #[doc = " \"items\": {"]
16500 #[doc = " \"$ref\": \"#/components/schemas/MerklePathItem\""]
16501 #[doc = " }"]
16502 #[doc = " }"]
16503 #[doc = " }"]
16504 #[doc = "}"]
16505 #[doc = r" ```"]
16506 #[doc = r" </details>"]
16507 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16508 pub struct RpcLightClientExecutionProofResponse {
16509 pub block_header_lite: LightClientBlockLiteView,
16510 pub block_proof: ::std::vec::Vec<MerklePathItem>,
16511 pub outcome_proof: ExecutionOutcomeWithIdView,
16512 pub outcome_root_proof: ::std::vec::Vec<MerklePathItem>,
16513 }
16514 impl ::std::convert::From<&RpcLightClientExecutionProofResponse>
16515 for RpcLightClientExecutionProofResponse
16516 {
16517 fn from(value: &RpcLightClientExecutionProofResponse) -> Self {
16518 value.clone()
16519 }
16520 }
16521 #[doc = "`RpcLightClientNextBlockRequest`"]
16522 #[doc = r""]
16523 #[doc = r" <details><summary>JSON schema</summary>"]
16524 #[doc = r""]
16525 #[doc = r" ```json"]
16526 #[doc = "{"]
16527 #[doc = " \"title\": \"RpcLightClientNextBlockRequest\","]
16528 #[doc = " \"type\": \"object\","]
16529 #[doc = " \"required\": ["]
16530 #[doc = " \"last_block_hash\""]
16531 #[doc = " ],"]
16532 #[doc = " \"properties\": {"]
16533 #[doc = " \"last_block_hash\": {"]
16534 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16535 #[doc = " }"]
16536 #[doc = " }"]
16537 #[doc = "}"]
16538 #[doc = r" ```"]
16539 #[doc = r" </details>"]
16540 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16541 pub struct RpcLightClientNextBlockRequest {
16542 pub last_block_hash: CryptoHash,
16543 }
16544 impl ::std::convert::From<&RpcLightClientNextBlockRequest> for RpcLightClientNextBlockRequest {
16545 fn from(value: &RpcLightClientNextBlockRequest) -> Self {
16546 value.clone()
16547 }
16548 }
16549 #[doc = "`RpcLightClientNextBlockResponse`"]
16550 #[doc = r""]
16551 #[doc = r" <details><summary>JSON schema</summary>"]
16552 #[doc = r""]
16553 #[doc = r" ```json"]
16554 #[doc = "{"]
16555 #[doc = " \"type\": \"object\","]
16556 #[doc = " \"properties\": {"]
16557 #[doc = " \"approvals_after_next\": {"]
16558 #[doc = " \"type\": \"array\","]
16559 #[doc = " \"items\": {"]
16560 #[doc = " \"oneOf\": ["]
16561 #[doc = " {"]
16562 #[doc = " \"type\": \"null\""]
16563 #[doc = " },"]
16564 #[doc = " {"]
16565 #[doc = " \"allOf\": ["]
16566 #[doc = " {"]
16567 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
16568 #[doc = " }"]
16569 #[doc = " ]"]
16570 #[doc = " }"]
16571 #[doc = " ]"]
16572 #[doc = " }"]
16573 #[doc = " },"]
16574 #[doc = " \"inner_lite\": {"]
16575 #[doc = " \"$ref\": \"#/components/schemas/BlockHeaderInnerLiteView\""]
16576 #[doc = " },"]
16577 #[doc = " \"inner_rest_hash\": {"]
16578 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16579 #[doc = " },"]
16580 #[doc = " \"next_block_inner_hash\": {"]
16581 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16582 #[doc = " },"]
16583 #[doc = " \"next_bps\": {"]
16584 #[doc = " \"type\": ["]
16585 #[doc = " \"array\","]
16586 #[doc = " \"null\""]
16587 #[doc = " ],"]
16588 #[doc = " \"items\": {"]
16589 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
16590 #[doc = " }"]
16591 #[doc = " },"]
16592 #[doc = " \"prev_block_hash\": {"]
16593 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
16594 #[doc = " }"]
16595 #[doc = " }"]
16596 #[doc = "}"]
16597 #[doc = r" ```"]
16598 #[doc = r" </details>"]
16599 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16600 pub struct RpcLightClientNextBlockResponse {
16601 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
16602 pub approvals_after_next: ::std::vec::Vec<::std::option::Option<Signature>>,
16603 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16604 pub inner_lite: ::std::option::Option<BlockHeaderInnerLiteView>,
16605 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16606 pub inner_rest_hash: ::std::option::Option<CryptoHash>,
16607 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16608 pub next_block_inner_hash: ::std::option::Option<CryptoHash>,
16609 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16610 pub next_bps: ::std::option::Option<::std::vec::Vec<ValidatorStakeView>>,
16611 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16612 pub prev_block_hash: ::std::option::Option<CryptoHash>,
16613 }
16614 impl ::std::convert::From<&RpcLightClientNextBlockResponse> for RpcLightClientNextBlockResponse {
16615 fn from(value: &RpcLightClientNextBlockResponse) -> Self {
16616 value.clone()
16617 }
16618 }
16619 impl ::std::default::Default for RpcLightClientNextBlockResponse {
16620 fn default() -> Self {
16621 Self {
16622 approvals_after_next: Default::default(),
16623 inner_lite: Default::default(),
16624 inner_rest_hash: Default::default(),
16625 next_block_inner_hash: Default::default(),
16626 next_bps: Default::default(),
16627 prev_block_hash: Default::default(),
16628 }
16629 }
16630 }
16631 #[doc = "`RpcMaintenanceWindowsRequest`"]
16632 #[doc = r""]
16633 #[doc = r" <details><summary>JSON schema</summary>"]
16634 #[doc = r""]
16635 #[doc = r" ```json"]
16636 #[doc = "{"]
16637 #[doc = " \"title\": \"RpcMaintenanceWindowsRequest\","]
16638 #[doc = " \"type\": \"object\","]
16639 #[doc = " \"required\": ["]
16640 #[doc = " \"account_id\""]
16641 #[doc = " ],"]
16642 #[doc = " \"properties\": {"]
16643 #[doc = " \"account_id\": {"]
16644 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
16645 #[doc = " }"]
16646 #[doc = " }"]
16647 #[doc = "}"]
16648 #[doc = r" ```"]
16649 #[doc = r" </details>"]
16650 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16651 pub struct RpcMaintenanceWindowsRequest {
16652 pub account_id: AccountId,
16653 }
16654 impl ::std::convert::From<&RpcMaintenanceWindowsRequest> for RpcMaintenanceWindowsRequest {
16655 fn from(value: &RpcMaintenanceWindowsRequest) -> Self {
16656 value.clone()
16657 }
16658 }
16659 #[doc = "`RpcNetworkInfoRequest`"]
16660 #[doc = r""]
16661 #[doc = r" <details><summary>JSON schema</summary>"]
16662 #[doc = r""]
16663 #[doc = r" ```json"]
16664 #[doc = "{"]
16665 #[doc = " \"title\": \"RpcNetworkInfoRequest\","]
16666 #[doc = " \"type\": \"object\""]
16667 #[doc = "}"]
16668 #[doc = r" ```"]
16669 #[doc = r" </details>"]
16670 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16671 #[serde(transparent)]
16672 pub struct RpcNetworkInfoRequest(
16673 pub ::serde_json::Map<::std::string::String, ::serde_json::Value>,
16674 );
16675 impl ::std::ops::Deref for RpcNetworkInfoRequest {
16676 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
16677 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
16678 &self.0
16679 }
16680 }
16681 impl ::std::convert::From<RpcNetworkInfoRequest>
16682 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
16683 {
16684 fn from(value: RpcNetworkInfoRequest) -> Self {
16685 value.0
16686 }
16687 }
16688 impl ::std::convert::From<&RpcNetworkInfoRequest> for RpcNetworkInfoRequest {
16689 fn from(value: &RpcNetworkInfoRequest) -> Self {
16690 value.clone()
16691 }
16692 }
16693 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
16694 for RpcNetworkInfoRequest
16695 {
16696 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
16697 Self(value)
16698 }
16699 }
16700 #[doc = "`RpcNetworkInfoResponse`"]
16701 #[doc = r""]
16702 #[doc = r" <details><summary>JSON schema</summary>"]
16703 #[doc = r""]
16704 #[doc = r" ```json"]
16705 #[doc = "{"]
16706 #[doc = " \"type\": \"object\","]
16707 #[doc = " \"required\": ["]
16708 #[doc = " \"active_peers\","]
16709 #[doc = " \"known_producers\","]
16710 #[doc = " \"num_active_peers\","]
16711 #[doc = " \"peer_max_count\","]
16712 #[doc = " \"received_bytes_per_sec\","]
16713 #[doc = " \"sent_bytes_per_sec\""]
16714 #[doc = " ],"]
16715 #[doc = " \"properties\": {"]
16716 #[doc = " \"active_peers\": {"]
16717 #[doc = " \"type\": \"array\","]
16718 #[doc = " \"items\": {"]
16719 #[doc = " \"$ref\": \"#/components/schemas/RpcPeerInfo\""]
16720 #[doc = " }"]
16721 #[doc = " },"]
16722 #[doc = " \"known_producers\": {"]
16723 #[doc = " \"description\": \"Accounts of known block and chunk producers from routing table.\","]
16724 #[doc = " \"type\": \"array\","]
16725 #[doc = " \"items\": {"]
16726 #[doc = " \"$ref\": \"#/components/schemas/RpcKnownProducer\""]
16727 #[doc = " }"]
16728 #[doc = " },"]
16729 #[doc = " \"num_active_peers\": {"]
16730 #[doc = " \"type\": \"integer\","]
16731 #[doc = " \"format\": \"uint\","]
16732 #[doc = " \"minimum\": 0.0"]
16733 #[doc = " },"]
16734 #[doc = " \"peer_max_count\": {"]
16735 #[doc = " \"type\": \"integer\","]
16736 #[doc = " \"format\": \"uint32\","]
16737 #[doc = " \"minimum\": 0.0"]
16738 #[doc = " },"]
16739 #[doc = " \"received_bytes_per_sec\": {"]
16740 #[doc = " \"type\": \"integer\","]
16741 #[doc = " \"format\": \"uint64\","]
16742 #[doc = " \"minimum\": 0.0"]
16743 #[doc = " },"]
16744 #[doc = " \"sent_bytes_per_sec\": {"]
16745 #[doc = " \"type\": \"integer\","]
16746 #[doc = " \"format\": \"uint64\","]
16747 #[doc = " \"minimum\": 0.0"]
16748 #[doc = " }"]
16749 #[doc = " }"]
16750 #[doc = "}"]
16751 #[doc = r" ```"]
16752 #[doc = r" </details>"]
16753 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16754 pub struct RpcNetworkInfoResponse {
16755 pub active_peers: ::std::vec::Vec<RpcPeerInfo>,
16756 #[doc = "Accounts of known block and chunk producers from routing table."]
16757 pub known_producers: ::std::vec::Vec<RpcKnownProducer>,
16758 pub num_active_peers: u32,
16759 pub peer_max_count: u32,
16760 pub received_bytes_per_sec: u64,
16761 pub sent_bytes_per_sec: u64,
16762 }
16763 impl ::std::convert::From<&RpcNetworkInfoResponse> for RpcNetworkInfoResponse {
16764 fn from(value: &RpcNetworkInfoResponse) -> Self {
16765 value.clone()
16766 }
16767 }
16768 #[doc = "`RpcPeerInfo`"]
16769 #[doc = r""]
16770 #[doc = r" <details><summary>JSON schema</summary>"]
16771 #[doc = r""]
16772 #[doc = r" ```json"]
16773 #[doc = "{"]
16774 #[doc = " \"type\": \"object\","]
16775 #[doc = " \"required\": ["]
16776 #[doc = " \"id\""]
16777 #[doc = " ],"]
16778 #[doc = " \"properties\": {"]
16779 #[doc = " \"account_id\": {"]
16780 #[doc = " \"oneOf\": ["]
16781 #[doc = " {"]
16782 #[doc = " \"type\": \"null\""]
16783 #[doc = " },"]
16784 #[doc = " {"]
16785 #[doc = " \"allOf\": ["]
16786 #[doc = " {"]
16787 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
16788 #[doc = " }"]
16789 #[doc = " ]"]
16790 #[doc = " }"]
16791 #[doc = " ]"]
16792 #[doc = " },"]
16793 #[doc = " \"addr\": {"]
16794 #[doc = " \"type\": ["]
16795 #[doc = " \"string\","]
16796 #[doc = " \"null\""]
16797 #[doc = " ]"]
16798 #[doc = " },"]
16799 #[doc = " \"id\": {"]
16800 #[doc = " \"$ref\": \"#/components/schemas/PeerId\""]
16801 #[doc = " }"]
16802 #[doc = " }"]
16803 #[doc = "}"]
16804 #[doc = r" ```"]
16805 #[doc = r" </details>"]
16806 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16807 pub struct RpcPeerInfo {
16808 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16809 pub account_id: ::std::option::Option<AccountId>,
16810 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
16811 pub addr: ::std::option::Option<::std::string::String>,
16812 pub id: PeerId,
16813 }
16814 impl ::std::convert::From<&RpcPeerInfo> for RpcPeerInfo {
16815 fn from(value: &RpcPeerInfo) -> Self {
16816 value.clone()
16817 }
16818 }
16819 #[doc = "`RpcProtocolConfigRequest`"]
16820 #[doc = r""]
16821 #[doc = r" <details><summary>JSON schema</summary>"]
16822 #[doc = r""]
16823 #[doc = r" ```json"]
16824 #[doc = "{"]
16825 #[doc = " \"title\": \"RpcProtocolConfigRequest\","]
16826 #[doc = " \"type\": \"object\","]
16827 #[doc = " \"oneOf\": ["]
16828 #[doc = " {"]
16829 #[doc = " \"type\": \"object\","]
16830 #[doc = " \"required\": ["]
16831 #[doc = " \"block_id\""]
16832 #[doc = " ],"]
16833 #[doc = " \"properties\": {"]
16834 #[doc = " \"block_id\": {"]
16835 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
16836 #[doc = " }"]
16837 #[doc = " }"]
16838 #[doc = " },"]
16839 #[doc = " {"]
16840 #[doc = " \"type\": \"object\","]
16841 #[doc = " \"required\": ["]
16842 #[doc = " \"finality\""]
16843 #[doc = " ],"]
16844 #[doc = " \"properties\": {"]
16845 #[doc = " \"finality\": {"]
16846 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
16847 #[doc = " }"]
16848 #[doc = " }"]
16849 #[doc = " },"]
16850 #[doc = " {"]
16851 #[doc = " \"type\": \"object\","]
16852 #[doc = " \"required\": ["]
16853 #[doc = " \"sync_checkpoint\""]
16854 #[doc = " ],"]
16855 #[doc = " \"properties\": {"]
16856 #[doc = " \"sync_checkpoint\": {"]
16857 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
16858 #[doc = " }"]
16859 #[doc = " }"]
16860 #[doc = " }"]
16861 #[doc = " ]"]
16862 #[doc = "}"]
16863 #[doc = r" ```"]
16864 #[doc = r" </details>"]
16865 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
16866 pub enum RpcProtocolConfigRequest {
16867 #[serde(rename = "block_id")]
16868 BlockId(BlockId),
16869 #[serde(rename = "finality")]
16870 Finality(Finality),
16871 #[serde(rename = "sync_checkpoint")]
16872 SyncCheckpoint(SyncCheckpoint),
16873 }
16874 impl ::std::convert::From<&Self> for RpcProtocolConfigRequest {
16875 fn from(value: &RpcProtocolConfigRequest) -> Self {
16876 value.clone()
16877 }
16878 }
16879 impl ::std::convert::From<BlockId> for RpcProtocolConfigRequest {
16880 fn from(value: BlockId) -> Self {
16881 Self::BlockId(value)
16882 }
16883 }
16884 impl ::std::convert::From<Finality> for RpcProtocolConfigRequest {
16885 fn from(value: Finality) -> Self {
16886 Self::Finality(value)
16887 }
16888 }
16889 impl ::std::convert::From<SyncCheckpoint> for RpcProtocolConfigRequest {
16890 fn from(value: SyncCheckpoint) -> Self {
16891 Self::SyncCheckpoint(value)
16892 }
16893 }
16894 #[doc = "`RpcProtocolConfigResponse`"]
16895 #[doc = r""]
16896 #[doc = r" <details><summary>JSON schema</summary>"]
16897 #[doc = r""]
16898 #[doc = r" ```json"]
16899 #[doc = "{"]
16900 #[doc = " \"type\": \"object\","]
16901 #[doc = " \"required\": ["]
16902 #[doc = " \"avg_hidden_validator_seats_per_shard\","]
16903 #[doc = " \"block_producer_kickout_threshold\","]
16904 #[doc = " \"chain_id\","]
16905 #[doc = " \"chunk_producer_kickout_threshold\","]
16906 #[doc = " \"chunk_validator_only_kickout_threshold\","]
16907 #[doc = " \"dynamic_resharding\","]
16908 #[doc = " \"epoch_length\","]
16909 #[doc = " \"fishermen_threshold\","]
16910 #[doc = " \"gas_limit\","]
16911 #[doc = " \"gas_price_adjustment_rate\","]
16912 #[doc = " \"genesis_height\","]
16913 #[doc = " \"genesis_time\","]
16914 #[doc = " \"max_gas_price\","]
16915 #[doc = " \"max_inflation_rate\","]
16916 #[doc = " \"max_kickout_stake_perc\","]
16917 #[doc = " \"min_gas_price\","]
16918 #[doc = " \"minimum_stake_divisor\","]
16919 #[doc = " \"minimum_stake_ratio\","]
16920 #[doc = " \"minimum_validators_per_shard\","]
16921 #[doc = " \"num_block_producer_seats\","]
16922 #[doc = " \"num_block_producer_seats_per_shard\","]
16923 #[doc = " \"num_blocks_per_year\","]
16924 #[doc = " \"online_max_threshold\","]
16925 #[doc = " \"online_min_threshold\","]
16926 #[doc = " \"protocol_reward_rate\","]
16927 #[doc = " \"protocol_treasury_account\","]
16928 #[doc = " \"protocol_upgrade_stake_threshold\","]
16929 #[doc = " \"protocol_version\","]
16930 #[doc = " \"runtime_config\","]
16931 #[doc = " \"shard_layout\","]
16932 #[doc = " \"shuffle_shard_assignment_for_chunk_producers\","]
16933 #[doc = " \"target_validator_mandates_per_shard\","]
16934 #[doc = " \"transaction_validity_period\""]
16935 #[doc = " ],"]
16936 #[doc = " \"properties\": {"]
16937 #[doc = " \"avg_hidden_validator_seats_per_shard\": {"]
16938 #[doc = " \"description\": \"Expected number of hidden validators per shard.\","]
16939 #[doc = " \"type\": \"array\","]
16940 #[doc = " \"items\": {"]
16941 #[doc = " \"type\": \"integer\","]
16942 #[doc = " \"format\": \"uint64\","]
16943 #[doc = " \"minimum\": 0.0"]
16944 #[doc = " }"]
16945 #[doc = " },"]
16946 #[doc = " \"block_producer_kickout_threshold\": {"]
16947 #[doc = " \"description\": \"Threshold for kicking out block producers, between 0 and 100.\","]
16948 #[doc = " \"type\": \"integer\","]
16949 #[doc = " \"format\": \"uint8\","]
16950 #[doc = " \"minimum\": 0.0"]
16951 #[doc = " },"]
16952 #[doc = " \"chain_id\": {"]
16953 #[doc = " \"description\": \"ID of the blockchain. This must be unique for every blockchain.\\n If your testnet blockchains do not have unique chain IDs, you will have a bad time.\","]
16954 #[doc = " \"type\": \"string\""]
16955 #[doc = " },"]
16956 #[doc = " \"chunk_producer_kickout_threshold\": {"]
16957 #[doc = " \"description\": \"Threshold for kicking out chunk producers, between 0 and 100.\","]
16958 #[doc = " \"type\": \"integer\","]
16959 #[doc = " \"format\": \"uint8\","]
16960 #[doc = " \"minimum\": 0.0"]
16961 #[doc = " },"]
16962 #[doc = " \"chunk_validator_only_kickout_threshold\": {"]
16963 #[doc = " \"description\": \"Threshold for kicking out nodes which are only chunk validators, between 0 and 100.\","]
16964 #[doc = " \"type\": \"integer\","]
16965 #[doc = " \"format\": \"uint8\","]
16966 #[doc = " \"minimum\": 0.0"]
16967 #[doc = " },"]
16968 #[doc = " \"dynamic_resharding\": {"]
16969 #[doc = " \"description\": \"Enable dynamic re-sharding.\","]
16970 #[doc = " \"type\": \"boolean\""]
16971 #[doc = " },"]
16972 #[doc = " \"epoch_length\": {"]
16973 #[doc = " \"description\": \"Epoch length counted in block heights.\","]
16974 #[doc = " \"type\": \"integer\","]
16975 #[doc = " \"format\": \"uint64\","]
16976 #[doc = " \"minimum\": 0.0"]
16977 #[doc = " },"]
16978 #[doc = " \"fishermen_threshold\": {"]
16979 #[doc = " \"description\": \"Fishermen stake threshold.\","]
16980 #[doc = " \"type\": \"string\""]
16981 #[doc = " },"]
16982 #[doc = " \"gas_limit\": {"]
16983 #[doc = " \"description\": \"Initial gas limit.\","]
16984 #[doc = " \"type\": \"integer\","]
16985 #[doc = " \"format\": \"uint64\","]
16986 #[doc = " \"minimum\": 0.0"]
16987 #[doc = " },"]
16988 #[doc = " \"gas_price_adjustment_rate\": {"]
16989 #[doc = " \"description\": \"Gas price adjustment rate\","]
16990 #[doc = " \"type\": \"array\","]
16991 #[doc = " \"items\": {"]
16992 #[doc = " \"type\": \"integer\","]
16993 #[doc = " \"format\": \"int32\""]
16994 #[doc = " },"]
16995 #[doc = " \"maxItems\": 2,"]
16996 #[doc = " \"minItems\": 2"]
16997 #[doc = " },"]
16998 #[doc = " \"genesis_height\": {"]
16999 #[doc = " \"description\": \"Height of genesis block.\","]
17000 #[doc = " \"type\": \"integer\","]
17001 #[doc = " \"format\": \"uint64\","]
17002 #[doc = " \"minimum\": 0.0"]
17003 #[doc = " },"]
17004 #[doc = " \"genesis_time\": {"]
17005 #[doc = " \"description\": \"Official time of blockchain start.\","]
17006 #[doc = " \"type\": \"string\","]
17007 #[doc = " \"format\": \"date-time\""]
17008 #[doc = " },"]
17009 #[doc = " \"max_gas_price\": {"]
17010 #[doc = " \"description\": \"Maximum gas price.\","]
17011 #[doc = " \"type\": \"string\""]
17012 #[doc = " },"]
17013 #[doc = " \"max_inflation_rate\": {"]
17014 #[doc = " \"description\": \"Maximum inflation on the total supply every epoch.\","]
17015 #[doc = " \"type\": \"array\","]
17016 #[doc = " \"items\": {"]
17017 #[doc = " \"type\": \"integer\","]
17018 #[doc = " \"format\": \"int32\""]
17019 #[doc = " },"]
17020 #[doc = " \"maxItems\": 2,"]
17021 #[doc = " \"minItems\": 2"]
17022 #[doc = " },"]
17023 #[doc = " \"max_kickout_stake_perc\": {"]
17024 #[doc = " \"description\": \"Max stake percentage of the validators we will kick out.\","]
17025 #[doc = " \"type\": \"integer\","]
17026 #[doc = " \"format\": \"uint8\","]
17027 #[doc = " \"minimum\": 0.0"]
17028 #[doc = " },"]
17029 #[doc = " \"min_gas_price\": {"]
17030 #[doc = " \"description\": \"Minimum gas price. It is also the initial gas price.\","]
17031 #[doc = " \"type\": \"string\""]
17032 #[doc = " },"]
17033 #[doc = " \"minimum_stake_divisor\": {"]
17034 #[doc = " \"description\": \"The minimum stake required for staking is last seat price divided by this number.\","]
17035 #[doc = " \"type\": \"integer\","]
17036 #[doc = " \"format\": \"uint64\","]
17037 #[doc = " \"minimum\": 0.0"]
17038 #[doc = " },"]
17039 #[doc = " \"minimum_stake_ratio\": {"]
17040 #[doc = " \"description\": \"The lowest ratio s/s_total any block producer can have.\\n See <https://github.com/near/NEPs/pull/167> for details\","]
17041 #[doc = " \"type\": \"array\","]
17042 #[doc = " \"items\": {"]
17043 #[doc = " \"type\": \"integer\","]
17044 #[doc = " \"format\": \"int32\""]
17045 #[doc = " },"]
17046 #[doc = " \"maxItems\": 2,"]
17047 #[doc = " \"minItems\": 2"]
17048 #[doc = " },"]
17049 #[doc = " \"minimum_validators_per_shard\": {"]
17050 #[doc = " \"description\": \"The minimum number of validators each shard must have\","]
17051 #[doc = " \"type\": \"integer\","]
17052 #[doc = " \"format\": \"uint64\","]
17053 #[doc = " \"minimum\": 0.0"]
17054 #[doc = " },"]
17055 #[doc = " \"num_block_producer_seats\": {"]
17056 #[doc = " \"description\": \"Number of block producer seats at genesis.\","]
17057 #[doc = " \"type\": \"integer\","]
17058 #[doc = " \"format\": \"uint64\","]
17059 #[doc = " \"minimum\": 0.0"]
17060 #[doc = " },"]
17061 #[doc = " \"num_block_producer_seats_per_shard\": {"]
17062 #[doc = " \"description\": \"Defines number of shards and number of block producer seats per each shard at genesis.\","]
17063 #[doc = " \"type\": \"array\","]
17064 #[doc = " \"items\": {"]
17065 #[doc = " \"type\": \"integer\","]
17066 #[doc = " \"format\": \"uint64\","]
17067 #[doc = " \"minimum\": 0.0"]
17068 #[doc = " }"]
17069 #[doc = " },"]
17070 #[doc = " \"num_blocks_per_year\": {"]
17071 #[doc = " \"description\": \"Expected number of blocks per year\","]
17072 #[doc = " \"type\": \"integer\","]
17073 #[doc = " \"format\": \"uint64\","]
17074 #[doc = " \"minimum\": 0.0"]
17075 #[doc = " },"]
17076 #[doc = " \"online_max_threshold\": {"]
17077 #[doc = " \"description\": \"Online maximum threshold above which validator gets full reward.\","]
17078 #[doc = " \"type\": \"array\","]
17079 #[doc = " \"items\": {"]
17080 #[doc = " \"type\": \"integer\","]
17081 #[doc = " \"format\": \"int32\""]
17082 #[doc = " },"]
17083 #[doc = " \"maxItems\": 2,"]
17084 #[doc = " \"minItems\": 2"]
17085 #[doc = " },"]
17086 #[doc = " \"online_min_threshold\": {"]
17087 #[doc = " \"description\": \"Online minimum threshold below which validator doesn't receive reward.\","]
17088 #[doc = " \"type\": \"array\","]
17089 #[doc = " \"items\": {"]
17090 #[doc = " \"type\": \"integer\","]
17091 #[doc = " \"format\": \"int32\""]
17092 #[doc = " },"]
17093 #[doc = " \"maxItems\": 2,"]
17094 #[doc = " \"minItems\": 2"]
17095 #[doc = " },"]
17096 #[doc = " \"protocol_reward_rate\": {"]
17097 #[doc = " \"description\": \"Protocol treasury rate\","]
17098 #[doc = " \"type\": \"array\","]
17099 #[doc = " \"items\": {"]
17100 #[doc = " \"type\": \"integer\","]
17101 #[doc = " \"format\": \"int32\""]
17102 #[doc = " },"]
17103 #[doc = " \"maxItems\": 2,"]
17104 #[doc = " \"minItems\": 2"]
17105 #[doc = " },"]
17106 #[doc = " \"protocol_treasury_account\": {"]
17107 #[doc = " \"description\": \"Protocol treasury account\","]
17108 #[doc = " \"allOf\": ["]
17109 #[doc = " {"]
17110 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17111 #[doc = " }"]
17112 #[doc = " ]"]
17113 #[doc = " },"]
17114 #[doc = " \"protocol_upgrade_stake_threshold\": {"]
17115 #[doc = " \"description\": \"Threshold of stake that needs to indicate that they ready for upgrade.\","]
17116 #[doc = " \"type\": \"array\","]
17117 #[doc = " \"items\": {"]
17118 #[doc = " \"type\": \"integer\","]
17119 #[doc = " \"format\": \"int32\""]
17120 #[doc = " },"]
17121 #[doc = " \"maxItems\": 2,"]
17122 #[doc = " \"minItems\": 2"]
17123 #[doc = " },"]
17124 #[doc = " \"protocol_version\": {"]
17125 #[doc = " \"description\": \"Current Protocol Version\","]
17126 #[doc = " \"type\": \"integer\","]
17127 #[doc = " \"format\": \"uint32\","]
17128 #[doc = " \"minimum\": 0.0"]
17129 #[doc = " },"]
17130 #[doc = " \"runtime_config\": {"]
17131 #[doc = " \"description\": \"Runtime configuration (mostly economics constants).\","]
17132 #[doc = " \"allOf\": ["]
17133 #[doc = " {"]
17134 #[doc = " \"$ref\": \"#/components/schemas/RuntimeConfigView\""]
17135 #[doc = " }"]
17136 #[doc = " ]"]
17137 #[doc = " },"]
17138 #[doc = " \"shard_layout\": {"]
17139 #[doc = " \"description\": \"Layout information regarding how to split accounts to shards\","]
17140 #[doc = " \"allOf\": ["]
17141 #[doc = " {"]
17142 #[doc = " \"$ref\": \"#/components/schemas/ShardLayout\""]
17143 #[doc = " }"]
17144 #[doc = " ]"]
17145 #[doc = " },"]
17146 #[doc = " \"shuffle_shard_assignment_for_chunk_producers\": {"]
17147 #[doc = " \"description\": \"If true, shuffle the chunk producers across shards. In other words, if\\n the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents\\n the set of chunk producers for shard `i`, if this flag were true, the\\n shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`.\","]
17148 #[doc = " \"type\": \"boolean\""]
17149 #[doc = " },"]
17150 #[doc = " \"target_validator_mandates_per_shard\": {"]
17151 #[doc = " \"description\": \"Number of target chunk validator mandates for each shard.\","]
17152 #[doc = " \"type\": \"integer\","]
17153 #[doc = " \"format\": \"uint64\","]
17154 #[doc = " \"minimum\": 0.0"]
17155 #[doc = " },"]
17156 #[doc = " \"transaction_validity_period\": {"]
17157 #[doc = " \"description\": \"Number of blocks for which a given transaction is valid\","]
17158 #[doc = " \"type\": \"integer\","]
17159 #[doc = " \"format\": \"uint64\","]
17160 #[doc = " \"minimum\": 0.0"]
17161 #[doc = " }"]
17162 #[doc = " }"]
17163 #[doc = "}"]
17164 #[doc = r" ```"]
17165 #[doc = r" </details>"]
17166 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
17167 pub struct RpcProtocolConfigResponse {
17168 #[doc = "Expected number of hidden validators per shard."]
17169 pub avg_hidden_validator_seats_per_shard: ::std::vec::Vec<u64>,
17170 #[doc = "Threshold for kicking out block producers, between 0 and 100."]
17171 pub block_producer_kickout_threshold: u8,
17172 #[doc = "ID of the blockchain. This must be unique for every blockchain.\n If your testnet blockchains do not have unique chain IDs, you will have a bad time."]
17173 pub chain_id: ::std::string::String,
17174 #[doc = "Threshold for kicking out chunk producers, between 0 and 100."]
17175 pub chunk_producer_kickout_threshold: u8,
17176 #[doc = "Threshold for kicking out nodes which are only chunk validators, between 0 and 100."]
17177 pub chunk_validator_only_kickout_threshold: u8,
17178 #[doc = "Enable dynamic re-sharding."]
17179 pub dynamic_resharding: bool,
17180 #[doc = "Epoch length counted in block heights."]
17181 pub epoch_length: u64,
17182 #[doc = "Fishermen stake threshold."]
17183 pub fishermen_threshold: ::std::string::String,
17184 #[doc = "Initial gas limit."]
17185 pub gas_limit: u64,
17186 #[doc = "Gas price adjustment rate"]
17187 pub gas_price_adjustment_rate: [i32; 2usize],
17188 #[doc = "Height of genesis block."]
17189 pub genesis_height: u64,
17190 #[doc = "Official time of blockchain start."]
17191 pub genesis_time: ::chrono::DateTime<::chrono::offset::Utc>,
17192 #[doc = "Maximum gas price."]
17193 pub max_gas_price: ::std::string::String,
17194 #[doc = "Maximum inflation on the total supply every epoch."]
17195 pub max_inflation_rate: [i32; 2usize],
17196 #[doc = "Max stake percentage of the validators we will kick out."]
17197 pub max_kickout_stake_perc: u8,
17198 #[doc = "Minimum gas price. It is also the initial gas price."]
17199 pub min_gas_price: ::std::string::String,
17200 #[doc = "The minimum stake required for staking is last seat price divided by this number."]
17201 pub minimum_stake_divisor: u64,
17202 #[doc = "The lowest ratio s/s_total any block producer can have.\n See <https://github.com/near/NEPs/pull/167> for details"]
17203 pub minimum_stake_ratio: [i32; 2usize],
17204 #[doc = "The minimum number of validators each shard must have"]
17205 pub minimum_validators_per_shard: u64,
17206 #[doc = "Number of block producer seats at genesis."]
17207 pub num_block_producer_seats: u64,
17208 #[doc = "Defines number of shards and number of block producer seats per each shard at genesis."]
17209 pub num_block_producer_seats_per_shard: ::std::vec::Vec<u64>,
17210 #[doc = "Expected number of blocks per year"]
17211 pub num_blocks_per_year: u64,
17212 #[doc = "Online maximum threshold above which validator gets full reward."]
17213 pub online_max_threshold: [i32; 2usize],
17214 #[doc = "Online minimum threshold below which validator doesn't receive reward."]
17215 pub online_min_threshold: [i32; 2usize],
17216 #[doc = "Protocol treasury rate"]
17217 pub protocol_reward_rate: [i32; 2usize],
17218 #[doc = "Protocol treasury account"]
17219 pub protocol_treasury_account: AccountId,
17220 #[doc = "Threshold of stake that needs to indicate that they ready for upgrade."]
17221 pub protocol_upgrade_stake_threshold: [i32; 2usize],
17222 #[doc = "Current Protocol Version"]
17223 pub protocol_version: u32,
17224 #[doc = "Runtime configuration (mostly economics constants)."]
17225 pub runtime_config: RuntimeConfigView,
17226 #[doc = "Layout information regarding how to split accounts to shards"]
17227 pub shard_layout: ShardLayout,
17228 #[doc = "If true, shuffle the chunk producers across shards. In other words, if\n the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents\n the set of chunk producers for shard `i`, if this flag were true, the\n shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`."]
17229 pub shuffle_shard_assignment_for_chunk_producers: bool,
17230 #[doc = "Number of target chunk validator mandates for each shard."]
17231 pub target_validator_mandates_per_shard: u64,
17232 #[doc = "Number of blocks for which a given transaction is valid"]
17233 pub transaction_validity_period: u64,
17234 }
17235 impl ::std::convert::From<&RpcProtocolConfigResponse> for RpcProtocolConfigResponse {
17236 fn from(value: &RpcProtocolConfigResponse) -> Self {
17237 value.clone()
17238 }
17239 }
17240 #[doc = "`RpcQueryRequest`"]
17241 #[doc = r""]
17242 #[doc = r" <details><summary>JSON schema</summary>"]
17243 #[doc = r""]
17244 #[doc = r" ```json"]
17245 #[doc = "{"]
17246 #[doc = " \"title\": \"RpcQueryRequest\","]
17247 #[doc = " \"type\": \"object\","]
17248 #[doc = " \"oneOf\": ["]
17249 #[doc = " {"]
17250 #[doc = " \"allOf\": ["]
17251 #[doc = " {"]
17252 #[doc = " \"type\": \"object\","]
17253 #[doc = " \"required\": ["]
17254 #[doc = " \"block_id\""]
17255 #[doc = " ],"]
17256 #[doc = " \"properties\": {"]
17257 #[doc = " \"block_id\": {"]
17258 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17259 #[doc = " }"]
17260 #[doc = " }"]
17261 #[doc = " },"]
17262 #[doc = " {"]
17263 #[doc = " \"type\": \"object\","]
17264 #[doc = " \"required\": ["]
17265 #[doc = " \"account_id\","]
17266 #[doc = " \"request_type\""]
17267 #[doc = " ],"]
17268 #[doc = " \"properties\": {"]
17269 #[doc = " \"account_id\": {"]
17270 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17271 #[doc = " },"]
17272 #[doc = " \"request_type\": {"]
17273 #[doc = " \"type\": \"string\","]
17274 #[doc = " \"enum\": ["]
17275 #[doc = " \"view_account\""]
17276 #[doc = " ]"]
17277 #[doc = " }"]
17278 #[doc = " }"]
17279 #[doc = " }"]
17280 #[doc = " ]"]
17281 #[doc = " },"]
17282 #[doc = " {"]
17283 #[doc = " \"allOf\": ["]
17284 #[doc = " {"]
17285 #[doc = " \"type\": \"object\","]
17286 #[doc = " \"required\": ["]
17287 #[doc = " \"block_id\""]
17288 #[doc = " ],"]
17289 #[doc = " \"properties\": {"]
17290 #[doc = " \"block_id\": {"]
17291 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17292 #[doc = " }"]
17293 #[doc = " }"]
17294 #[doc = " },"]
17295 #[doc = " {"]
17296 #[doc = " \"type\": \"object\","]
17297 #[doc = " \"required\": ["]
17298 #[doc = " \"account_id\","]
17299 #[doc = " \"request_type\""]
17300 #[doc = " ],"]
17301 #[doc = " \"properties\": {"]
17302 #[doc = " \"account_id\": {"]
17303 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17304 #[doc = " },"]
17305 #[doc = " \"request_type\": {"]
17306 #[doc = " \"type\": \"string\","]
17307 #[doc = " \"enum\": ["]
17308 #[doc = " \"view_code\""]
17309 #[doc = " ]"]
17310 #[doc = " }"]
17311 #[doc = " }"]
17312 #[doc = " }"]
17313 #[doc = " ]"]
17314 #[doc = " },"]
17315 #[doc = " {"]
17316 #[doc = " \"allOf\": ["]
17317 #[doc = " {"]
17318 #[doc = " \"type\": \"object\","]
17319 #[doc = " \"required\": ["]
17320 #[doc = " \"block_id\""]
17321 #[doc = " ],"]
17322 #[doc = " \"properties\": {"]
17323 #[doc = " \"block_id\": {"]
17324 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17325 #[doc = " }"]
17326 #[doc = " }"]
17327 #[doc = " },"]
17328 #[doc = " {"]
17329 #[doc = " \"type\": \"object\","]
17330 #[doc = " \"required\": ["]
17331 #[doc = " \"account_id\","]
17332 #[doc = " \"prefix_base64\","]
17333 #[doc = " \"request_type\""]
17334 #[doc = " ],"]
17335 #[doc = " \"properties\": {"]
17336 #[doc = " \"account_id\": {"]
17337 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17338 #[doc = " },"]
17339 #[doc = " \"include_proof\": {"]
17340 #[doc = " \"type\": \"boolean\""]
17341 #[doc = " },"]
17342 #[doc = " \"prefix_base64\": {"]
17343 #[doc = " \"type\": \"string\","]
17344 #[doc = " \"format\": \"bytes\""]
17345 #[doc = " },"]
17346 #[doc = " \"request_type\": {"]
17347 #[doc = " \"type\": \"string\","]
17348 #[doc = " \"enum\": ["]
17349 #[doc = " \"view_state\""]
17350 #[doc = " ]"]
17351 #[doc = " }"]
17352 #[doc = " }"]
17353 #[doc = " }"]
17354 #[doc = " ]"]
17355 #[doc = " },"]
17356 #[doc = " {"]
17357 #[doc = " \"allOf\": ["]
17358 #[doc = " {"]
17359 #[doc = " \"type\": \"object\","]
17360 #[doc = " \"required\": ["]
17361 #[doc = " \"block_id\""]
17362 #[doc = " ],"]
17363 #[doc = " \"properties\": {"]
17364 #[doc = " \"block_id\": {"]
17365 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17366 #[doc = " }"]
17367 #[doc = " }"]
17368 #[doc = " },"]
17369 #[doc = " {"]
17370 #[doc = " \"type\": \"object\","]
17371 #[doc = " \"required\": ["]
17372 #[doc = " \"account_id\","]
17373 #[doc = " \"public_key\","]
17374 #[doc = " \"request_type\""]
17375 #[doc = " ],"]
17376 #[doc = " \"properties\": {"]
17377 #[doc = " \"account_id\": {"]
17378 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17379 #[doc = " },"]
17380 #[doc = " \"public_key\": {"]
17381 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
17382 #[doc = " },"]
17383 #[doc = " \"request_type\": {"]
17384 #[doc = " \"type\": \"string\","]
17385 #[doc = " \"enum\": ["]
17386 #[doc = " \"view_access_key\""]
17387 #[doc = " ]"]
17388 #[doc = " }"]
17389 #[doc = " }"]
17390 #[doc = " }"]
17391 #[doc = " ]"]
17392 #[doc = " },"]
17393 #[doc = " {"]
17394 #[doc = " \"allOf\": ["]
17395 #[doc = " {"]
17396 #[doc = " \"type\": \"object\","]
17397 #[doc = " \"required\": ["]
17398 #[doc = " \"block_id\""]
17399 #[doc = " ],"]
17400 #[doc = " \"properties\": {"]
17401 #[doc = " \"block_id\": {"]
17402 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17403 #[doc = " }"]
17404 #[doc = " }"]
17405 #[doc = " },"]
17406 #[doc = " {"]
17407 #[doc = " \"type\": \"object\","]
17408 #[doc = " \"required\": ["]
17409 #[doc = " \"account_id\","]
17410 #[doc = " \"request_type\""]
17411 #[doc = " ],"]
17412 #[doc = " \"properties\": {"]
17413 #[doc = " \"account_id\": {"]
17414 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17415 #[doc = " },"]
17416 #[doc = " \"request_type\": {"]
17417 #[doc = " \"type\": \"string\","]
17418 #[doc = " \"enum\": ["]
17419 #[doc = " \"view_access_key_list\""]
17420 #[doc = " ]"]
17421 #[doc = " }"]
17422 #[doc = " }"]
17423 #[doc = " }"]
17424 #[doc = " ]"]
17425 #[doc = " },"]
17426 #[doc = " {"]
17427 #[doc = " \"allOf\": ["]
17428 #[doc = " {"]
17429 #[doc = " \"type\": \"object\","]
17430 #[doc = " \"required\": ["]
17431 #[doc = " \"block_id\""]
17432 #[doc = " ],"]
17433 #[doc = " \"properties\": {"]
17434 #[doc = " \"block_id\": {"]
17435 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17436 #[doc = " }"]
17437 #[doc = " }"]
17438 #[doc = " },"]
17439 #[doc = " {"]
17440 #[doc = " \"type\": \"object\","]
17441 #[doc = " \"required\": ["]
17442 #[doc = " \"account_id\","]
17443 #[doc = " \"args_base64\","]
17444 #[doc = " \"method_name\","]
17445 #[doc = " \"request_type\""]
17446 #[doc = " ],"]
17447 #[doc = " \"properties\": {"]
17448 #[doc = " \"account_id\": {"]
17449 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17450 #[doc = " },"]
17451 #[doc = " \"args_base64\": {"]
17452 #[doc = " \"type\": \"string\","]
17453 #[doc = " \"format\": \"bytes\""]
17454 #[doc = " },"]
17455 #[doc = " \"method_name\": {"]
17456 #[doc = " \"type\": \"string\""]
17457 #[doc = " },"]
17458 #[doc = " \"request_type\": {"]
17459 #[doc = " \"type\": \"string\","]
17460 #[doc = " \"enum\": ["]
17461 #[doc = " \"call_function\""]
17462 #[doc = " ]"]
17463 #[doc = " }"]
17464 #[doc = " }"]
17465 #[doc = " }"]
17466 #[doc = " ]"]
17467 #[doc = " },"]
17468 #[doc = " {"]
17469 #[doc = " \"allOf\": ["]
17470 #[doc = " {"]
17471 #[doc = " \"type\": \"object\","]
17472 #[doc = " \"required\": ["]
17473 #[doc = " \"block_id\""]
17474 #[doc = " ],"]
17475 #[doc = " \"properties\": {"]
17476 #[doc = " \"block_id\": {"]
17477 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17478 #[doc = " }"]
17479 #[doc = " }"]
17480 #[doc = " },"]
17481 #[doc = " {"]
17482 #[doc = " \"type\": \"object\","]
17483 #[doc = " \"required\": ["]
17484 #[doc = " \"code_hash\","]
17485 #[doc = " \"request_type\""]
17486 #[doc = " ],"]
17487 #[doc = " \"properties\": {"]
17488 #[doc = " \"code_hash\": {"]
17489 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
17490 #[doc = " },"]
17491 #[doc = " \"request_type\": {"]
17492 #[doc = " \"type\": \"string\","]
17493 #[doc = " \"enum\": ["]
17494 #[doc = " \"view_global_contract_code\""]
17495 #[doc = " ]"]
17496 #[doc = " }"]
17497 #[doc = " }"]
17498 #[doc = " }"]
17499 #[doc = " ]"]
17500 #[doc = " },"]
17501 #[doc = " {"]
17502 #[doc = " \"allOf\": ["]
17503 #[doc = " {"]
17504 #[doc = " \"type\": \"object\","]
17505 #[doc = " \"required\": ["]
17506 #[doc = " \"block_id\""]
17507 #[doc = " ],"]
17508 #[doc = " \"properties\": {"]
17509 #[doc = " \"block_id\": {"]
17510 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
17511 #[doc = " }"]
17512 #[doc = " }"]
17513 #[doc = " },"]
17514 #[doc = " {"]
17515 #[doc = " \"type\": \"object\","]
17516 #[doc = " \"required\": ["]
17517 #[doc = " \"account_id\","]
17518 #[doc = " \"request_type\""]
17519 #[doc = " ],"]
17520 #[doc = " \"properties\": {"]
17521 #[doc = " \"account_id\": {"]
17522 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17523 #[doc = " },"]
17524 #[doc = " \"request_type\": {"]
17525 #[doc = " \"type\": \"string\","]
17526 #[doc = " \"enum\": ["]
17527 #[doc = " \"view_global_contract_code_by_account_id\""]
17528 #[doc = " ]"]
17529 #[doc = " }"]
17530 #[doc = " }"]
17531 #[doc = " }"]
17532 #[doc = " ]"]
17533 #[doc = " },"]
17534 #[doc = " {"]
17535 #[doc = " \"allOf\": ["]
17536 #[doc = " {"]
17537 #[doc = " \"type\": \"object\","]
17538 #[doc = " \"required\": ["]
17539 #[doc = " \"finality\""]
17540 #[doc = " ],"]
17541 #[doc = " \"properties\": {"]
17542 #[doc = " \"finality\": {"]
17543 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17544 #[doc = " }"]
17545 #[doc = " }"]
17546 #[doc = " },"]
17547 #[doc = " {"]
17548 #[doc = " \"type\": \"object\","]
17549 #[doc = " \"required\": ["]
17550 #[doc = " \"account_id\","]
17551 #[doc = " \"request_type\""]
17552 #[doc = " ],"]
17553 #[doc = " \"properties\": {"]
17554 #[doc = " \"account_id\": {"]
17555 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17556 #[doc = " },"]
17557 #[doc = " \"request_type\": {"]
17558 #[doc = " \"type\": \"string\","]
17559 #[doc = " \"enum\": ["]
17560 #[doc = " \"view_account\""]
17561 #[doc = " ]"]
17562 #[doc = " }"]
17563 #[doc = " }"]
17564 #[doc = " }"]
17565 #[doc = " ]"]
17566 #[doc = " },"]
17567 #[doc = " {"]
17568 #[doc = " \"allOf\": ["]
17569 #[doc = " {"]
17570 #[doc = " \"type\": \"object\","]
17571 #[doc = " \"required\": ["]
17572 #[doc = " \"finality\""]
17573 #[doc = " ],"]
17574 #[doc = " \"properties\": {"]
17575 #[doc = " \"finality\": {"]
17576 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17577 #[doc = " }"]
17578 #[doc = " }"]
17579 #[doc = " },"]
17580 #[doc = " {"]
17581 #[doc = " \"type\": \"object\","]
17582 #[doc = " \"required\": ["]
17583 #[doc = " \"account_id\","]
17584 #[doc = " \"request_type\""]
17585 #[doc = " ],"]
17586 #[doc = " \"properties\": {"]
17587 #[doc = " \"account_id\": {"]
17588 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17589 #[doc = " },"]
17590 #[doc = " \"request_type\": {"]
17591 #[doc = " \"type\": \"string\","]
17592 #[doc = " \"enum\": ["]
17593 #[doc = " \"view_code\""]
17594 #[doc = " ]"]
17595 #[doc = " }"]
17596 #[doc = " }"]
17597 #[doc = " }"]
17598 #[doc = " ]"]
17599 #[doc = " },"]
17600 #[doc = " {"]
17601 #[doc = " \"allOf\": ["]
17602 #[doc = " {"]
17603 #[doc = " \"type\": \"object\","]
17604 #[doc = " \"required\": ["]
17605 #[doc = " \"finality\""]
17606 #[doc = " ],"]
17607 #[doc = " \"properties\": {"]
17608 #[doc = " \"finality\": {"]
17609 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17610 #[doc = " }"]
17611 #[doc = " }"]
17612 #[doc = " },"]
17613 #[doc = " {"]
17614 #[doc = " \"type\": \"object\","]
17615 #[doc = " \"required\": ["]
17616 #[doc = " \"account_id\","]
17617 #[doc = " \"prefix_base64\","]
17618 #[doc = " \"request_type\""]
17619 #[doc = " ],"]
17620 #[doc = " \"properties\": {"]
17621 #[doc = " \"account_id\": {"]
17622 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17623 #[doc = " },"]
17624 #[doc = " \"include_proof\": {"]
17625 #[doc = " \"type\": \"boolean\""]
17626 #[doc = " },"]
17627 #[doc = " \"prefix_base64\": {"]
17628 #[doc = " \"type\": \"string\","]
17629 #[doc = " \"format\": \"bytes\""]
17630 #[doc = " },"]
17631 #[doc = " \"request_type\": {"]
17632 #[doc = " \"type\": \"string\","]
17633 #[doc = " \"enum\": ["]
17634 #[doc = " \"view_state\""]
17635 #[doc = " ]"]
17636 #[doc = " }"]
17637 #[doc = " }"]
17638 #[doc = " }"]
17639 #[doc = " ]"]
17640 #[doc = " },"]
17641 #[doc = " {"]
17642 #[doc = " \"allOf\": ["]
17643 #[doc = " {"]
17644 #[doc = " \"type\": \"object\","]
17645 #[doc = " \"required\": ["]
17646 #[doc = " \"finality\""]
17647 #[doc = " ],"]
17648 #[doc = " \"properties\": {"]
17649 #[doc = " \"finality\": {"]
17650 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17651 #[doc = " }"]
17652 #[doc = " }"]
17653 #[doc = " },"]
17654 #[doc = " {"]
17655 #[doc = " \"type\": \"object\","]
17656 #[doc = " \"required\": ["]
17657 #[doc = " \"account_id\","]
17658 #[doc = " \"public_key\","]
17659 #[doc = " \"request_type\""]
17660 #[doc = " ],"]
17661 #[doc = " \"properties\": {"]
17662 #[doc = " \"account_id\": {"]
17663 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17664 #[doc = " },"]
17665 #[doc = " \"public_key\": {"]
17666 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
17667 #[doc = " },"]
17668 #[doc = " \"request_type\": {"]
17669 #[doc = " \"type\": \"string\","]
17670 #[doc = " \"enum\": ["]
17671 #[doc = " \"view_access_key\""]
17672 #[doc = " ]"]
17673 #[doc = " }"]
17674 #[doc = " }"]
17675 #[doc = " }"]
17676 #[doc = " ]"]
17677 #[doc = " },"]
17678 #[doc = " {"]
17679 #[doc = " \"allOf\": ["]
17680 #[doc = " {"]
17681 #[doc = " \"type\": \"object\","]
17682 #[doc = " \"required\": ["]
17683 #[doc = " \"finality\""]
17684 #[doc = " ],"]
17685 #[doc = " \"properties\": {"]
17686 #[doc = " \"finality\": {"]
17687 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17688 #[doc = " }"]
17689 #[doc = " }"]
17690 #[doc = " },"]
17691 #[doc = " {"]
17692 #[doc = " \"type\": \"object\","]
17693 #[doc = " \"required\": ["]
17694 #[doc = " \"account_id\","]
17695 #[doc = " \"request_type\""]
17696 #[doc = " ],"]
17697 #[doc = " \"properties\": {"]
17698 #[doc = " \"account_id\": {"]
17699 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17700 #[doc = " },"]
17701 #[doc = " \"request_type\": {"]
17702 #[doc = " \"type\": \"string\","]
17703 #[doc = " \"enum\": ["]
17704 #[doc = " \"view_access_key_list\""]
17705 #[doc = " ]"]
17706 #[doc = " }"]
17707 #[doc = " }"]
17708 #[doc = " }"]
17709 #[doc = " ]"]
17710 #[doc = " },"]
17711 #[doc = " {"]
17712 #[doc = " \"allOf\": ["]
17713 #[doc = " {"]
17714 #[doc = " \"type\": \"object\","]
17715 #[doc = " \"required\": ["]
17716 #[doc = " \"finality\""]
17717 #[doc = " ],"]
17718 #[doc = " \"properties\": {"]
17719 #[doc = " \"finality\": {"]
17720 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17721 #[doc = " }"]
17722 #[doc = " }"]
17723 #[doc = " },"]
17724 #[doc = " {"]
17725 #[doc = " \"type\": \"object\","]
17726 #[doc = " \"required\": ["]
17727 #[doc = " \"account_id\","]
17728 #[doc = " \"args_base64\","]
17729 #[doc = " \"method_name\","]
17730 #[doc = " \"request_type\""]
17731 #[doc = " ],"]
17732 #[doc = " \"properties\": {"]
17733 #[doc = " \"account_id\": {"]
17734 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17735 #[doc = " },"]
17736 #[doc = " \"args_base64\": {"]
17737 #[doc = " \"type\": \"string\","]
17738 #[doc = " \"format\": \"bytes\""]
17739 #[doc = " },"]
17740 #[doc = " \"method_name\": {"]
17741 #[doc = " \"type\": \"string\""]
17742 #[doc = " },"]
17743 #[doc = " \"request_type\": {"]
17744 #[doc = " \"type\": \"string\","]
17745 #[doc = " \"enum\": ["]
17746 #[doc = " \"call_function\""]
17747 #[doc = " ]"]
17748 #[doc = " }"]
17749 #[doc = " }"]
17750 #[doc = " }"]
17751 #[doc = " ]"]
17752 #[doc = " },"]
17753 #[doc = " {"]
17754 #[doc = " \"allOf\": ["]
17755 #[doc = " {"]
17756 #[doc = " \"type\": \"object\","]
17757 #[doc = " \"required\": ["]
17758 #[doc = " \"finality\""]
17759 #[doc = " ],"]
17760 #[doc = " \"properties\": {"]
17761 #[doc = " \"finality\": {"]
17762 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17763 #[doc = " }"]
17764 #[doc = " }"]
17765 #[doc = " },"]
17766 #[doc = " {"]
17767 #[doc = " \"type\": \"object\","]
17768 #[doc = " \"required\": ["]
17769 #[doc = " \"code_hash\","]
17770 #[doc = " \"request_type\""]
17771 #[doc = " ],"]
17772 #[doc = " \"properties\": {"]
17773 #[doc = " \"code_hash\": {"]
17774 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
17775 #[doc = " },"]
17776 #[doc = " \"request_type\": {"]
17777 #[doc = " \"type\": \"string\","]
17778 #[doc = " \"enum\": ["]
17779 #[doc = " \"view_global_contract_code\""]
17780 #[doc = " ]"]
17781 #[doc = " }"]
17782 #[doc = " }"]
17783 #[doc = " }"]
17784 #[doc = " ]"]
17785 #[doc = " },"]
17786 #[doc = " {"]
17787 #[doc = " \"allOf\": ["]
17788 #[doc = " {"]
17789 #[doc = " \"type\": \"object\","]
17790 #[doc = " \"required\": ["]
17791 #[doc = " \"finality\""]
17792 #[doc = " ],"]
17793 #[doc = " \"properties\": {"]
17794 #[doc = " \"finality\": {"]
17795 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
17796 #[doc = " }"]
17797 #[doc = " }"]
17798 #[doc = " },"]
17799 #[doc = " {"]
17800 #[doc = " \"type\": \"object\","]
17801 #[doc = " \"required\": ["]
17802 #[doc = " \"account_id\","]
17803 #[doc = " \"request_type\""]
17804 #[doc = " ],"]
17805 #[doc = " \"properties\": {"]
17806 #[doc = " \"account_id\": {"]
17807 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17808 #[doc = " },"]
17809 #[doc = " \"request_type\": {"]
17810 #[doc = " \"type\": \"string\","]
17811 #[doc = " \"enum\": ["]
17812 #[doc = " \"view_global_contract_code_by_account_id\""]
17813 #[doc = " ]"]
17814 #[doc = " }"]
17815 #[doc = " }"]
17816 #[doc = " }"]
17817 #[doc = " ]"]
17818 #[doc = " },"]
17819 #[doc = " {"]
17820 #[doc = " \"allOf\": ["]
17821 #[doc = " {"]
17822 #[doc = " \"type\": \"object\","]
17823 #[doc = " \"required\": ["]
17824 #[doc = " \"sync_checkpoint\""]
17825 #[doc = " ],"]
17826 #[doc = " \"properties\": {"]
17827 #[doc = " \"sync_checkpoint\": {"]
17828 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
17829 #[doc = " }"]
17830 #[doc = " }"]
17831 #[doc = " },"]
17832 #[doc = " {"]
17833 #[doc = " \"type\": \"object\","]
17834 #[doc = " \"required\": ["]
17835 #[doc = " \"account_id\","]
17836 #[doc = " \"request_type\""]
17837 #[doc = " ],"]
17838 #[doc = " \"properties\": {"]
17839 #[doc = " \"account_id\": {"]
17840 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17841 #[doc = " },"]
17842 #[doc = " \"request_type\": {"]
17843 #[doc = " \"type\": \"string\","]
17844 #[doc = " \"enum\": ["]
17845 #[doc = " \"view_account\""]
17846 #[doc = " ]"]
17847 #[doc = " }"]
17848 #[doc = " }"]
17849 #[doc = " }"]
17850 #[doc = " ]"]
17851 #[doc = " },"]
17852 #[doc = " {"]
17853 #[doc = " \"allOf\": ["]
17854 #[doc = " {"]
17855 #[doc = " \"type\": \"object\","]
17856 #[doc = " \"required\": ["]
17857 #[doc = " \"sync_checkpoint\""]
17858 #[doc = " ],"]
17859 #[doc = " \"properties\": {"]
17860 #[doc = " \"sync_checkpoint\": {"]
17861 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
17862 #[doc = " }"]
17863 #[doc = " }"]
17864 #[doc = " },"]
17865 #[doc = " {"]
17866 #[doc = " \"type\": \"object\","]
17867 #[doc = " \"required\": ["]
17868 #[doc = " \"account_id\","]
17869 #[doc = " \"request_type\""]
17870 #[doc = " ],"]
17871 #[doc = " \"properties\": {"]
17872 #[doc = " \"account_id\": {"]
17873 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17874 #[doc = " },"]
17875 #[doc = " \"request_type\": {"]
17876 #[doc = " \"type\": \"string\","]
17877 #[doc = " \"enum\": ["]
17878 #[doc = " \"view_code\""]
17879 #[doc = " ]"]
17880 #[doc = " }"]
17881 #[doc = " }"]
17882 #[doc = " }"]
17883 #[doc = " ]"]
17884 #[doc = " },"]
17885 #[doc = " {"]
17886 #[doc = " \"allOf\": ["]
17887 #[doc = " {"]
17888 #[doc = " \"type\": \"object\","]
17889 #[doc = " \"required\": ["]
17890 #[doc = " \"sync_checkpoint\""]
17891 #[doc = " ],"]
17892 #[doc = " \"properties\": {"]
17893 #[doc = " \"sync_checkpoint\": {"]
17894 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
17895 #[doc = " }"]
17896 #[doc = " }"]
17897 #[doc = " },"]
17898 #[doc = " {"]
17899 #[doc = " \"type\": \"object\","]
17900 #[doc = " \"required\": ["]
17901 #[doc = " \"account_id\","]
17902 #[doc = " \"prefix_base64\","]
17903 #[doc = " \"request_type\""]
17904 #[doc = " ],"]
17905 #[doc = " \"properties\": {"]
17906 #[doc = " \"account_id\": {"]
17907 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17908 #[doc = " },"]
17909 #[doc = " \"include_proof\": {"]
17910 #[doc = " \"type\": \"boolean\""]
17911 #[doc = " },"]
17912 #[doc = " \"prefix_base64\": {"]
17913 #[doc = " \"type\": \"string\","]
17914 #[doc = " \"format\": \"bytes\""]
17915 #[doc = " },"]
17916 #[doc = " \"request_type\": {"]
17917 #[doc = " \"type\": \"string\","]
17918 #[doc = " \"enum\": ["]
17919 #[doc = " \"view_state\""]
17920 #[doc = " ]"]
17921 #[doc = " }"]
17922 #[doc = " }"]
17923 #[doc = " }"]
17924 #[doc = " ]"]
17925 #[doc = " },"]
17926 #[doc = " {"]
17927 #[doc = " \"allOf\": ["]
17928 #[doc = " {"]
17929 #[doc = " \"type\": \"object\","]
17930 #[doc = " \"required\": ["]
17931 #[doc = " \"sync_checkpoint\""]
17932 #[doc = " ],"]
17933 #[doc = " \"properties\": {"]
17934 #[doc = " \"sync_checkpoint\": {"]
17935 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
17936 #[doc = " }"]
17937 #[doc = " }"]
17938 #[doc = " },"]
17939 #[doc = " {"]
17940 #[doc = " \"type\": \"object\","]
17941 #[doc = " \"required\": ["]
17942 #[doc = " \"account_id\","]
17943 #[doc = " \"public_key\","]
17944 #[doc = " \"request_type\""]
17945 #[doc = " ],"]
17946 #[doc = " \"properties\": {"]
17947 #[doc = " \"account_id\": {"]
17948 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17949 #[doc = " },"]
17950 #[doc = " \"public_key\": {"]
17951 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
17952 #[doc = " },"]
17953 #[doc = " \"request_type\": {"]
17954 #[doc = " \"type\": \"string\","]
17955 #[doc = " \"enum\": ["]
17956 #[doc = " \"view_access_key\""]
17957 #[doc = " ]"]
17958 #[doc = " }"]
17959 #[doc = " }"]
17960 #[doc = " }"]
17961 #[doc = " ]"]
17962 #[doc = " },"]
17963 #[doc = " {"]
17964 #[doc = " \"allOf\": ["]
17965 #[doc = " {"]
17966 #[doc = " \"type\": \"object\","]
17967 #[doc = " \"required\": ["]
17968 #[doc = " \"sync_checkpoint\""]
17969 #[doc = " ],"]
17970 #[doc = " \"properties\": {"]
17971 #[doc = " \"sync_checkpoint\": {"]
17972 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
17973 #[doc = " }"]
17974 #[doc = " }"]
17975 #[doc = " },"]
17976 #[doc = " {"]
17977 #[doc = " \"type\": \"object\","]
17978 #[doc = " \"required\": ["]
17979 #[doc = " \"account_id\","]
17980 #[doc = " \"request_type\""]
17981 #[doc = " ],"]
17982 #[doc = " \"properties\": {"]
17983 #[doc = " \"account_id\": {"]
17984 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
17985 #[doc = " },"]
17986 #[doc = " \"request_type\": {"]
17987 #[doc = " \"type\": \"string\","]
17988 #[doc = " \"enum\": ["]
17989 #[doc = " \"view_access_key_list\""]
17990 #[doc = " ]"]
17991 #[doc = " }"]
17992 #[doc = " }"]
17993 #[doc = " }"]
17994 #[doc = " ]"]
17995 #[doc = " },"]
17996 #[doc = " {"]
17997 #[doc = " \"allOf\": ["]
17998 #[doc = " {"]
17999 #[doc = " \"type\": \"object\","]
18000 #[doc = " \"required\": ["]
18001 #[doc = " \"sync_checkpoint\""]
18002 #[doc = " ],"]
18003 #[doc = " \"properties\": {"]
18004 #[doc = " \"sync_checkpoint\": {"]
18005 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
18006 #[doc = " }"]
18007 #[doc = " }"]
18008 #[doc = " },"]
18009 #[doc = " {"]
18010 #[doc = " \"type\": \"object\","]
18011 #[doc = " \"required\": ["]
18012 #[doc = " \"account_id\","]
18013 #[doc = " \"args_base64\","]
18014 #[doc = " \"method_name\","]
18015 #[doc = " \"request_type\""]
18016 #[doc = " ],"]
18017 #[doc = " \"properties\": {"]
18018 #[doc = " \"account_id\": {"]
18019 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
18020 #[doc = " },"]
18021 #[doc = " \"args_base64\": {"]
18022 #[doc = " \"type\": \"string\","]
18023 #[doc = " \"format\": \"bytes\""]
18024 #[doc = " },"]
18025 #[doc = " \"method_name\": {"]
18026 #[doc = " \"type\": \"string\""]
18027 #[doc = " },"]
18028 #[doc = " \"request_type\": {"]
18029 #[doc = " \"type\": \"string\","]
18030 #[doc = " \"enum\": ["]
18031 #[doc = " \"call_function\""]
18032 #[doc = " ]"]
18033 #[doc = " }"]
18034 #[doc = " }"]
18035 #[doc = " }"]
18036 #[doc = " ]"]
18037 #[doc = " },"]
18038 #[doc = " {"]
18039 #[doc = " \"allOf\": ["]
18040 #[doc = " {"]
18041 #[doc = " \"type\": \"object\","]
18042 #[doc = " \"required\": ["]
18043 #[doc = " \"sync_checkpoint\""]
18044 #[doc = " ],"]
18045 #[doc = " \"properties\": {"]
18046 #[doc = " \"sync_checkpoint\": {"]
18047 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
18048 #[doc = " }"]
18049 #[doc = " }"]
18050 #[doc = " },"]
18051 #[doc = " {"]
18052 #[doc = " \"type\": \"object\","]
18053 #[doc = " \"required\": ["]
18054 #[doc = " \"code_hash\","]
18055 #[doc = " \"request_type\""]
18056 #[doc = " ],"]
18057 #[doc = " \"properties\": {"]
18058 #[doc = " \"code_hash\": {"]
18059 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
18060 #[doc = " },"]
18061 #[doc = " \"request_type\": {"]
18062 #[doc = " \"type\": \"string\","]
18063 #[doc = " \"enum\": ["]
18064 #[doc = " \"view_global_contract_code\""]
18065 #[doc = " ]"]
18066 #[doc = " }"]
18067 #[doc = " }"]
18068 #[doc = " }"]
18069 #[doc = " ]"]
18070 #[doc = " },"]
18071 #[doc = " {"]
18072 #[doc = " \"allOf\": ["]
18073 #[doc = " {"]
18074 #[doc = " \"type\": \"object\","]
18075 #[doc = " \"required\": ["]
18076 #[doc = " \"sync_checkpoint\""]
18077 #[doc = " ],"]
18078 #[doc = " \"properties\": {"]
18079 #[doc = " \"sync_checkpoint\": {"]
18080 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
18081 #[doc = " }"]
18082 #[doc = " }"]
18083 #[doc = " },"]
18084 #[doc = " {"]
18085 #[doc = " \"type\": \"object\","]
18086 #[doc = " \"required\": ["]
18087 #[doc = " \"account_id\","]
18088 #[doc = " \"request_type\""]
18089 #[doc = " ],"]
18090 #[doc = " \"properties\": {"]
18091 #[doc = " \"account_id\": {"]
18092 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
18093 #[doc = " },"]
18094 #[doc = " \"request_type\": {"]
18095 #[doc = " \"type\": \"string\","]
18096 #[doc = " \"enum\": ["]
18097 #[doc = " \"view_global_contract_code_by_account_id\""]
18098 #[doc = " ]"]
18099 #[doc = " }"]
18100 #[doc = " }"]
18101 #[doc = " }"]
18102 #[doc = " ]"]
18103 #[doc = " }"]
18104 #[doc = " ]"]
18105 #[doc = "}"]
18106 #[doc = r" ```"]
18107 #[doc = r" </details>"]
18108 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
18109 #[serde(untagged)]
18110 pub enum RpcQueryRequest {
18111 Variant0 {
18112 account_id: AccountId,
18113 block_id: BlockId,
18114 request_type: RpcQueryRequestVariant0RequestType,
18115 },
18116 Variant1 {
18117 account_id: AccountId,
18118 block_id: BlockId,
18119 request_type: RpcQueryRequestVariant1RequestType,
18120 },
18121 Variant2 {
18122 account_id: AccountId,
18123 block_id: BlockId,
18124 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
18125 include_proof: ::std::option::Option<bool>,
18126 prefix_base64: ::std::string::String,
18127 request_type: RpcQueryRequestVariant2RequestType,
18128 },
18129 Variant3 {
18130 account_id: AccountId,
18131 block_id: BlockId,
18132 public_key: PublicKey,
18133 request_type: RpcQueryRequestVariant3RequestType,
18134 },
18135 Variant4 {
18136 account_id: AccountId,
18137 block_id: BlockId,
18138 request_type: RpcQueryRequestVariant4RequestType,
18139 },
18140 Variant5 {
18141 account_id: AccountId,
18142 args_base64: ::std::string::String,
18143 block_id: BlockId,
18144 method_name: ::std::string::String,
18145 request_type: RpcQueryRequestVariant5RequestType,
18146 },
18147 Variant6 {
18148 block_id: BlockId,
18149 code_hash: CryptoHash,
18150 request_type: RpcQueryRequestVariant6RequestType,
18151 },
18152 Variant7 {
18153 account_id: AccountId,
18154 block_id: BlockId,
18155 request_type: RpcQueryRequestVariant7RequestType,
18156 },
18157 Variant8 {
18158 account_id: AccountId,
18159 finality: Finality,
18160 request_type: RpcQueryRequestVariant8RequestType,
18161 },
18162 Variant9 {
18163 account_id: AccountId,
18164 finality: Finality,
18165 request_type: RpcQueryRequestVariant9RequestType,
18166 },
18167 Variant10 {
18168 account_id: AccountId,
18169 finality: Finality,
18170 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
18171 include_proof: ::std::option::Option<bool>,
18172 prefix_base64: ::std::string::String,
18173 request_type: RpcQueryRequestVariant10RequestType,
18174 },
18175 Variant11 {
18176 account_id: AccountId,
18177 finality: Finality,
18178 public_key: PublicKey,
18179 request_type: RpcQueryRequestVariant11RequestType,
18180 },
18181 Variant12 {
18182 account_id: AccountId,
18183 finality: Finality,
18184 request_type: RpcQueryRequestVariant12RequestType,
18185 },
18186 Variant13 {
18187 account_id: AccountId,
18188 args_base64: ::std::string::String,
18189 finality: Finality,
18190 method_name: ::std::string::String,
18191 request_type: RpcQueryRequestVariant13RequestType,
18192 },
18193 Variant14 {
18194 code_hash: CryptoHash,
18195 finality: Finality,
18196 request_type: RpcQueryRequestVariant14RequestType,
18197 },
18198 Variant15 {
18199 account_id: AccountId,
18200 finality: Finality,
18201 request_type: RpcQueryRequestVariant15RequestType,
18202 },
18203 Variant16 {
18204 account_id: AccountId,
18205 request_type: RpcQueryRequestVariant16RequestType,
18206 sync_checkpoint: SyncCheckpoint,
18207 },
18208 Variant17 {
18209 account_id: AccountId,
18210 request_type: RpcQueryRequestVariant17RequestType,
18211 sync_checkpoint: SyncCheckpoint,
18212 },
18213 Variant18 {
18214 account_id: AccountId,
18215 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
18216 include_proof: ::std::option::Option<bool>,
18217 prefix_base64: ::std::string::String,
18218 request_type: RpcQueryRequestVariant18RequestType,
18219 sync_checkpoint: SyncCheckpoint,
18220 },
18221 Variant19 {
18222 account_id: AccountId,
18223 public_key: PublicKey,
18224 request_type: RpcQueryRequestVariant19RequestType,
18225 sync_checkpoint: SyncCheckpoint,
18226 },
18227 Variant20 {
18228 account_id: AccountId,
18229 request_type: RpcQueryRequestVariant20RequestType,
18230 sync_checkpoint: SyncCheckpoint,
18231 },
18232 Variant21 {
18233 account_id: AccountId,
18234 args_base64: ::std::string::String,
18235 method_name: ::std::string::String,
18236 request_type: RpcQueryRequestVariant21RequestType,
18237 sync_checkpoint: SyncCheckpoint,
18238 },
18239 Variant22 {
18240 code_hash: CryptoHash,
18241 request_type: RpcQueryRequestVariant22RequestType,
18242 sync_checkpoint: SyncCheckpoint,
18243 },
18244 Variant23 {
18245 account_id: AccountId,
18246 request_type: RpcQueryRequestVariant23RequestType,
18247 sync_checkpoint: SyncCheckpoint,
18248 },
18249 }
18250 impl ::std::convert::From<&Self> for RpcQueryRequest {
18251 fn from(value: &RpcQueryRequest) -> Self {
18252 value.clone()
18253 }
18254 }
18255 #[doc = "`RpcQueryRequestVariant0RequestType`"]
18256 #[doc = r""]
18257 #[doc = r" <details><summary>JSON schema</summary>"]
18258 #[doc = r""]
18259 #[doc = r" ```json"]
18260 #[doc = "{"]
18261 #[doc = " \"type\": \"string\","]
18262 #[doc = " \"enum\": ["]
18263 #[doc = " \"view_account\""]
18264 #[doc = " ]"]
18265 #[doc = "}"]
18266 #[doc = r" ```"]
18267 #[doc = r" </details>"]
18268 #[derive(
18269 :: serde :: Deserialize,
18270 :: serde :: Serialize,
18271 Clone,
18272 Copy,
18273 Debug,
18274 Eq,
18275 Hash,
18276 Ord,
18277 PartialEq,
18278 PartialOrd,
18279 )]
18280 pub enum RpcQueryRequestVariant0RequestType {
18281 #[serde(rename = "view_account")]
18282 ViewAccount,
18283 }
18284 impl ::std::convert::From<&Self> for RpcQueryRequestVariant0RequestType {
18285 fn from(value: &RpcQueryRequestVariant0RequestType) -> Self {
18286 value.clone()
18287 }
18288 }
18289 impl ::std::fmt::Display for RpcQueryRequestVariant0RequestType {
18290 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18291 match *self {
18292 Self::ViewAccount => write!(f, "view_account"),
18293 }
18294 }
18295 }
18296 impl ::std::str::FromStr for RpcQueryRequestVariant0RequestType {
18297 type Err = self::error::ConversionError;
18298 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18299 match value {
18300 "view_account" => Ok(Self::ViewAccount),
18301 _ => Err("invalid value".into()),
18302 }
18303 }
18304 }
18305 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant0RequestType {
18306 type Error = self::error::ConversionError;
18307 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18308 value.parse()
18309 }
18310 }
18311 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant0RequestType {
18312 type Error = self::error::ConversionError;
18313 fn try_from(
18314 value: &::std::string::String,
18315 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18316 value.parse()
18317 }
18318 }
18319 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant0RequestType {
18320 type Error = self::error::ConversionError;
18321 fn try_from(
18322 value: ::std::string::String,
18323 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18324 value.parse()
18325 }
18326 }
18327 #[doc = "`RpcQueryRequestVariant10RequestType`"]
18328 #[doc = r""]
18329 #[doc = r" <details><summary>JSON schema</summary>"]
18330 #[doc = r""]
18331 #[doc = r" ```json"]
18332 #[doc = "{"]
18333 #[doc = " \"type\": \"string\","]
18334 #[doc = " \"enum\": ["]
18335 #[doc = " \"view_state\""]
18336 #[doc = " ]"]
18337 #[doc = "}"]
18338 #[doc = r" ```"]
18339 #[doc = r" </details>"]
18340 #[derive(
18341 :: serde :: Deserialize,
18342 :: serde :: Serialize,
18343 Clone,
18344 Copy,
18345 Debug,
18346 Eq,
18347 Hash,
18348 Ord,
18349 PartialEq,
18350 PartialOrd,
18351 )]
18352 pub enum RpcQueryRequestVariant10RequestType {
18353 #[serde(rename = "view_state")]
18354 ViewState,
18355 }
18356 impl ::std::convert::From<&Self> for RpcQueryRequestVariant10RequestType {
18357 fn from(value: &RpcQueryRequestVariant10RequestType) -> Self {
18358 value.clone()
18359 }
18360 }
18361 impl ::std::fmt::Display for RpcQueryRequestVariant10RequestType {
18362 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18363 match *self {
18364 Self::ViewState => write!(f, "view_state"),
18365 }
18366 }
18367 }
18368 impl ::std::str::FromStr for RpcQueryRequestVariant10RequestType {
18369 type Err = self::error::ConversionError;
18370 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18371 match value {
18372 "view_state" => Ok(Self::ViewState),
18373 _ => Err("invalid value".into()),
18374 }
18375 }
18376 }
18377 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant10RequestType {
18378 type Error = self::error::ConversionError;
18379 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18380 value.parse()
18381 }
18382 }
18383 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant10RequestType {
18384 type Error = self::error::ConversionError;
18385 fn try_from(
18386 value: &::std::string::String,
18387 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18388 value.parse()
18389 }
18390 }
18391 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant10RequestType {
18392 type Error = self::error::ConversionError;
18393 fn try_from(
18394 value: ::std::string::String,
18395 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18396 value.parse()
18397 }
18398 }
18399 #[doc = "`RpcQueryRequestVariant11RequestType`"]
18400 #[doc = r""]
18401 #[doc = r" <details><summary>JSON schema</summary>"]
18402 #[doc = r""]
18403 #[doc = r" ```json"]
18404 #[doc = "{"]
18405 #[doc = " \"type\": \"string\","]
18406 #[doc = " \"enum\": ["]
18407 #[doc = " \"view_access_key\""]
18408 #[doc = " ]"]
18409 #[doc = "}"]
18410 #[doc = r" ```"]
18411 #[doc = r" </details>"]
18412 #[derive(
18413 :: serde :: Deserialize,
18414 :: serde :: Serialize,
18415 Clone,
18416 Copy,
18417 Debug,
18418 Eq,
18419 Hash,
18420 Ord,
18421 PartialEq,
18422 PartialOrd,
18423 )]
18424 pub enum RpcQueryRequestVariant11RequestType {
18425 #[serde(rename = "view_access_key")]
18426 ViewAccessKey,
18427 }
18428 impl ::std::convert::From<&Self> for RpcQueryRequestVariant11RequestType {
18429 fn from(value: &RpcQueryRequestVariant11RequestType) -> Self {
18430 value.clone()
18431 }
18432 }
18433 impl ::std::fmt::Display for RpcQueryRequestVariant11RequestType {
18434 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18435 match *self {
18436 Self::ViewAccessKey => write!(f, "view_access_key"),
18437 }
18438 }
18439 }
18440 impl ::std::str::FromStr for RpcQueryRequestVariant11RequestType {
18441 type Err = self::error::ConversionError;
18442 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18443 match value {
18444 "view_access_key" => Ok(Self::ViewAccessKey),
18445 _ => Err("invalid value".into()),
18446 }
18447 }
18448 }
18449 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant11RequestType {
18450 type Error = self::error::ConversionError;
18451 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18452 value.parse()
18453 }
18454 }
18455 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant11RequestType {
18456 type Error = self::error::ConversionError;
18457 fn try_from(
18458 value: &::std::string::String,
18459 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18460 value.parse()
18461 }
18462 }
18463 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant11RequestType {
18464 type Error = self::error::ConversionError;
18465 fn try_from(
18466 value: ::std::string::String,
18467 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18468 value.parse()
18469 }
18470 }
18471 #[doc = "`RpcQueryRequestVariant12RequestType`"]
18472 #[doc = r""]
18473 #[doc = r" <details><summary>JSON schema</summary>"]
18474 #[doc = r""]
18475 #[doc = r" ```json"]
18476 #[doc = "{"]
18477 #[doc = " \"type\": \"string\","]
18478 #[doc = " \"enum\": ["]
18479 #[doc = " \"view_access_key_list\""]
18480 #[doc = " ]"]
18481 #[doc = "}"]
18482 #[doc = r" ```"]
18483 #[doc = r" </details>"]
18484 #[derive(
18485 :: serde :: Deserialize,
18486 :: serde :: Serialize,
18487 Clone,
18488 Copy,
18489 Debug,
18490 Eq,
18491 Hash,
18492 Ord,
18493 PartialEq,
18494 PartialOrd,
18495 )]
18496 pub enum RpcQueryRequestVariant12RequestType {
18497 #[serde(rename = "view_access_key_list")]
18498 ViewAccessKeyList,
18499 }
18500 impl ::std::convert::From<&Self> for RpcQueryRequestVariant12RequestType {
18501 fn from(value: &RpcQueryRequestVariant12RequestType) -> Self {
18502 value.clone()
18503 }
18504 }
18505 impl ::std::fmt::Display for RpcQueryRequestVariant12RequestType {
18506 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18507 match *self {
18508 Self::ViewAccessKeyList => write!(f, "view_access_key_list"),
18509 }
18510 }
18511 }
18512 impl ::std::str::FromStr for RpcQueryRequestVariant12RequestType {
18513 type Err = self::error::ConversionError;
18514 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18515 match value {
18516 "view_access_key_list" => Ok(Self::ViewAccessKeyList),
18517 _ => Err("invalid value".into()),
18518 }
18519 }
18520 }
18521 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant12RequestType {
18522 type Error = self::error::ConversionError;
18523 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18524 value.parse()
18525 }
18526 }
18527 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant12RequestType {
18528 type Error = self::error::ConversionError;
18529 fn try_from(
18530 value: &::std::string::String,
18531 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18532 value.parse()
18533 }
18534 }
18535 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant12RequestType {
18536 type Error = self::error::ConversionError;
18537 fn try_from(
18538 value: ::std::string::String,
18539 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18540 value.parse()
18541 }
18542 }
18543 #[doc = "`RpcQueryRequestVariant13RequestType`"]
18544 #[doc = r""]
18545 #[doc = r" <details><summary>JSON schema</summary>"]
18546 #[doc = r""]
18547 #[doc = r" ```json"]
18548 #[doc = "{"]
18549 #[doc = " \"type\": \"string\","]
18550 #[doc = " \"enum\": ["]
18551 #[doc = " \"call_function\""]
18552 #[doc = " ]"]
18553 #[doc = "}"]
18554 #[doc = r" ```"]
18555 #[doc = r" </details>"]
18556 #[derive(
18557 :: serde :: Deserialize,
18558 :: serde :: Serialize,
18559 Clone,
18560 Copy,
18561 Debug,
18562 Eq,
18563 Hash,
18564 Ord,
18565 PartialEq,
18566 PartialOrd,
18567 )]
18568 pub enum RpcQueryRequestVariant13RequestType {
18569 #[serde(rename = "call_function")]
18570 CallFunction,
18571 }
18572 impl ::std::convert::From<&Self> for RpcQueryRequestVariant13RequestType {
18573 fn from(value: &RpcQueryRequestVariant13RequestType) -> Self {
18574 value.clone()
18575 }
18576 }
18577 impl ::std::fmt::Display for RpcQueryRequestVariant13RequestType {
18578 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18579 match *self {
18580 Self::CallFunction => write!(f, "call_function"),
18581 }
18582 }
18583 }
18584 impl ::std::str::FromStr for RpcQueryRequestVariant13RequestType {
18585 type Err = self::error::ConversionError;
18586 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18587 match value {
18588 "call_function" => Ok(Self::CallFunction),
18589 _ => Err("invalid value".into()),
18590 }
18591 }
18592 }
18593 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant13RequestType {
18594 type Error = self::error::ConversionError;
18595 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18596 value.parse()
18597 }
18598 }
18599 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant13RequestType {
18600 type Error = self::error::ConversionError;
18601 fn try_from(
18602 value: &::std::string::String,
18603 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18604 value.parse()
18605 }
18606 }
18607 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant13RequestType {
18608 type Error = self::error::ConversionError;
18609 fn try_from(
18610 value: ::std::string::String,
18611 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18612 value.parse()
18613 }
18614 }
18615 #[doc = "`RpcQueryRequestVariant14RequestType`"]
18616 #[doc = r""]
18617 #[doc = r" <details><summary>JSON schema</summary>"]
18618 #[doc = r""]
18619 #[doc = r" ```json"]
18620 #[doc = "{"]
18621 #[doc = " \"type\": \"string\","]
18622 #[doc = " \"enum\": ["]
18623 #[doc = " \"view_global_contract_code\""]
18624 #[doc = " ]"]
18625 #[doc = "}"]
18626 #[doc = r" ```"]
18627 #[doc = r" </details>"]
18628 #[derive(
18629 :: serde :: Deserialize,
18630 :: serde :: Serialize,
18631 Clone,
18632 Copy,
18633 Debug,
18634 Eq,
18635 Hash,
18636 Ord,
18637 PartialEq,
18638 PartialOrd,
18639 )]
18640 pub enum RpcQueryRequestVariant14RequestType {
18641 #[serde(rename = "view_global_contract_code")]
18642 ViewGlobalContractCode,
18643 }
18644 impl ::std::convert::From<&Self> for RpcQueryRequestVariant14RequestType {
18645 fn from(value: &RpcQueryRequestVariant14RequestType) -> Self {
18646 value.clone()
18647 }
18648 }
18649 impl ::std::fmt::Display for RpcQueryRequestVariant14RequestType {
18650 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18651 match *self {
18652 Self::ViewGlobalContractCode => write!(f, "view_global_contract_code"),
18653 }
18654 }
18655 }
18656 impl ::std::str::FromStr for RpcQueryRequestVariant14RequestType {
18657 type Err = self::error::ConversionError;
18658 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18659 match value {
18660 "view_global_contract_code" => Ok(Self::ViewGlobalContractCode),
18661 _ => Err("invalid value".into()),
18662 }
18663 }
18664 }
18665 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant14RequestType {
18666 type Error = self::error::ConversionError;
18667 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18668 value.parse()
18669 }
18670 }
18671 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant14RequestType {
18672 type Error = self::error::ConversionError;
18673 fn try_from(
18674 value: &::std::string::String,
18675 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18676 value.parse()
18677 }
18678 }
18679 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant14RequestType {
18680 type Error = self::error::ConversionError;
18681 fn try_from(
18682 value: ::std::string::String,
18683 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18684 value.parse()
18685 }
18686 }
18687 #[doc = "`RpcQueryRequestVariant15RequestType`"]
18688 #[doc = r""]
18689 #[doc = r" <details><summary>JSON schema</summary>"]
18690 #[doc = r""]
18691 #[doc = r" ```json"]
18692 #[doc = "{"]
18693 #[doc = " \"type\": \"string\","]
18694 #[doc = " \"enum\": ["]
18695 #[doc = " \"view_global_contract_code_by_account_id\""]
18696 #[doc = " ]"]
18697 #[doc = "}"]
18698 #[doc = r" ```"]
18699 #[doc = r" </details>"]
18700 #[derive(
18701 :: serde :: Deserialize,
18702 :: serde :: Serialize,
18703 Clone,
18704 Copy,
18705 Debug,
18706 Eq,
18707 Hash,
18708 Ord,
18709 PartialEq,
18710 PartialOrd,
18711 )]
18712 pub enum RpcQueryRequestVariant15RequestType {
18713 #[serde(rename = "view_global_contract_code_by_account_id")]
18714 ViewGlobalContractCodeByAccountId,
18715 }
18716 impl ::std::convert::From<&Self> for RpcQueryRequestVariant15RequestType {
18717 fn from(value: &RpcQueryRequestVariant15RequestType) -> Self {
18718 value.clone()
18719 }
18720 }
18721 impl ::std::fmt::Display for RpcQueryRequestVariant15RequestType {
18722 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18723 match *self {
18724 Self::ViewGlobalContractCodeByAccountId => {
18725 write!(f, "view_global_contract_code_by_account_id")
18726 }
18727 }
18728 }
18729 }
18730 impl ::std::str::FromStr for RpcQueryRequestVariant15RequestType {
18731 type Err = self::error::ConversionError;
18732 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18733 match value {
18734 "view_global_contract_code_by_account_id" => {
18735 Ok(Self::ViewGlobalContractCodeByAccountId)
18736 }
18737 _ => Err("invalid value".into()),
18738 }
18739 }
18740 }
18741 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant15RequestType {
18742 type Error = self::error::ConversionError;
18743 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18744 value.parse()
18745 }
18746 }
18747 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant15RequestType {
18748 type Error = self::error::ConversionError;
18749 fn try_from(
18750 value: &::std::string::String,
18751 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18752 value.parse()
18753 }
18754 }
18755 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant15RequestType {
18756 type Error = self::error::ConversionError;
18757 fn try_from(
18758 value: ::std::string::String,
18759 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18760 value.parse()
18761 }
18762 }
18763 #[doc = "`RpcQueryRequestVariant16RequestType`"]
18764 #[doc = r""]
18765 #[doc = r" <details><summary>JSON schema</summary>"]
18766 #[doc = r""]
18767 #[doc = r" ```json"]
18768 #[doc = "{"]
18769 #[doc = " \"type\": \"string\","]
18770 #[doc = " \"enum\": ["]
18771 #[doc = " \"view_account\""]
18772 #[doc = " ]"]
18773 #[doc = "}"]
18774 #[doc = r" ```"]
18775 #[doc = r" </details>"]
18776 #[derive(
18777 :: serde :: Deserialize,
18778 :: serde :: Serialize,
18779 Clone,
18780 Copy,
18781 Debug,
18782 Eq,
18783 Hash,
18784 Ord,
18785 PartialEq,
18786 PartialOrd,
18787 )]
18788 pub enum RpcQueryRequestVariant16RequestType {
18789 #[serde(rename = "view_account")]
18790 ViewAccount,
18791 }
18792 impl ::std::convert::From<&Self> for RpcQueryRequestVariant16RequestType {
18793 fn from(value: &RpcQueryRequestVariant16RequestType) -> Self {
18794 value.clone()
18795 }
18796 }
18797 impl ::std::fmt::Display for RpcQueryRequestVariant16RequestType {
18798 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18799 match *self {
18800 Self::ViewAccount => write!(f, "view_account"),
18801 }
18802 }
18803 }
18804 impl ::std::str::FromStr for RpcQueryRequestVariant16RequestType {
18805 type Err = self::error::ConversionError;
18806 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18807 match value {
18808 "view_account" => Ok(Self::ViewAccount),
18809 _ => Err("invalid value".into()),
18810 }
18811 }
18812 }
18813 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant16RequestType {
18814 type Error = self::error::ConversionError;
18815 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18816 value.parse()
18817 }
18818 }
18819 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant16RequestType {
18820 type Error = self::error::ConversionError;
18821 fn try_from(
18822 value: &::std::string::String,
18823 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18824 value.parse()
18825 }
18826 }
18827 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant16RequestType {
18828 type Error = self::error::ConversionError;
18829 fn try_from(
18830 value: ::std::string::String,
18831 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18832 value.parse()
18833 }
18834 }
18835 #[doc = "`RpcQueryRequestVariant17RequestType`"]
18836 #[doc = r""]
18837 #[doc = r" <details><summary>JSON schema</summary>"]
18838 #[doc = r""]
18839 #[doc = r" ```json"]
18840 #[doc = "{"]
18841 #[doc = " \"type\": \"string\","]
18842 #[doc = " \"enum\": ["]
18843 #[doc = " \"view_code\""]
18844 #[doc = " ]"]
18845 #[doc = "}"]
18846 #[doc = r" ```"]
18847 #[doc = r" </details>"]
18848 #[derive(
18849 :: serde :: Deserialize,
18850 :: serde :: Serialize,
18851 Clone,
18852 Copy,
18853 Debug,
18854 Eq,
18855 Hash,
18856 Ord,
18857 PartialEq,
18858 PartialOrd,
18859 )]
18860 pub enum RpcQueryRequestVariant17RequestType {
18861 #[serde(rename = "view_code")]
18862 ViewCode,
18863 }
18864 impl ::std::convert::From<&Self> for RpcQueryRequestVariant17RequestType {
18865 fn from(value: &RpcQueryRequestVariant17RequestType) -> Self {
18866 value.clone()
18867 }
18868 }
18869 impl ::std::fmt::Display for RpcQueryRequestVariant17RequestType {
18870 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18871 match *self {
18872 Self::ViewCode => write!(f, "view_code"),
18873 }
18874 }
18875 }
18876 impl ::std::str::FromStr for RpcQueryRequestVariant17RequestType {
18877 type Err = self::error::ConversionError;
18878 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18879 match value {
18880 "view_code" => Ok(Self::ViewCode),
18881 _ => Err("invalid value".into()),
18882 }
18883 }
18884 }
18885 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant17RequestType {
18886 type Error = self::error::ConversionError;
18887 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18888 value.parse()
18889 }
18890 }
18891 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant17RequestType {
18892 type Error = self::error::ConversionError;
18893 fn try_from(
18894 value: &::std::string::String,
18895 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18896 value.parse()
18897 }
18898 }
18899 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant17RequestType {
18900 type Error = self::error::ConversionError;
18901 fn try_from(
18902 value: ::std::string::String,
18903 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18904 value.parse()
18905 }
18906 }
18907 #[doc = "`RpcQueryRequestVariant18RequestType`"]
18908 #[doc = r""]
18909 #[doc = r" <details><summary>JSON schema</summary>"]
18910 #[doc = r""]
18911 #[doc = r" ```json"]
18912 #[doc = "{"]
18913 #[doc = " \"type\": \"string\","]
18914 #[doc = " \"enum\": ["]
18915 #[doc = " \"view_state\""]
18916 #[doc = " ]"]
18917 #[doc = "}"]
18918 #[doc = r" ```"]
18919 #[doc = r" </details>"]
18920 #[derive(
18921 :: serde :: Deserialize,
18922 :: serde :: Serialize,
18923 Clone,
18924 Copy,
18925 Debug,
18926 Eq,
18927 Hash,
18928 Ord,
18929 PartialEq,
18930 PartialOrd,
18931 )]
18932 pub enum RpcQueryRequestVariant18RequestType {
18933 #[serde(rename = "view_state")]
18934 ViewState,
18935 }
18936 impl ::std::convert::From<&Self> for RpcQueryRequestVariant18RequestType {
18937 fn from(value: &RpcQueryRequestVariant18RequestType) -> Self {
18938 value.clone()
18939 }
18940 }
18941 impl ::std::fmt::Display for RpcQueryRequestVariant18RequestType {
18942 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18943 match *self {
18944 Self::ViewState => write!(f, "view_state"),
18945 }
18946 }
18947 }
18948 impl ::std::str::FromStr for RpcQueryRequestVariant18RequestType {
18949 type Err = self::error::ConversionError;
18950 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18951 match value {
18952 "view_state" => Ok(Self::ViewState),
18953 _ => Err("invalid value".into()),
18954 }
18955 }
18956 }
18957 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant18RequestType {
18958 type Error = self::error::ConversionError;
18959 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
18960 value.parse()
18961 }
18962 }
18963 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant18RequestType {
18964 type Error = self::error::ConversionError;
18965 fn try_from(
18966 value: &::std::string::String,
18967 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18968 value.parse()
18969 }
18970 }
18971 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant18RequestType {
18972 type Error = self::error::ConversionError;
18973 fn try_from(
18974 value: ::std::string::String,
18975 ) -> ::std::result::Result<Self, self::error::ConversionError> {
18976 value.parse()
18977 }
18978 }
18979 #[doc = "`RpcQueryRequestVariant19RequestType`"]
18980 #[doc = r""]
18981 #[doc = r" <details><summary>JSON schema</summary>"]
18982 #[doc = r""]
18983 #[doc = r" ```json"]
18984 #[doc = "{"]
18985 #[doc = " \"type\": \"string\","]
18986 #[doc = " \"enum\": ["]
18987 #[doc = " \"view_access_key\""]
18988 #[doc = " ]"]
18989 #[doc = "}"]
18990 #[doc = r" ```"]
18991 #[doc = r" </details>"]
18992 #[derive(
18993 :: serde :: Deserialize,
18994 :: serde :: Serialize,
18995 Clone,
18996 Copy,
18997 Debug,
18998 Eq,
18999 Hash,
19000 Ord,
19001 PartialEq,
19002 PartialOrd,
19003 )]
19004 pub enum RpcQueryRequestVariant19RequestType {
19005 #[serde(rename = "view_access_key")]
19006 ViewAccessKey,
19007 }
19008 impl ::std::convert::From<&Self> for RpcQueryRequestVariant19RequestType {
19009 fn from(value: &RpcQueryRequestVariant19RequestType) -> Self {
19010 value.clone()
19011 }
19012 }
19013 impl ::std::fmt::Display for RpcQueryRequestVariant19RequestType {
19014 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19015 match *self {
19016 Self::ViewAccessKey => write!(f, "view_access_key"),
19017 }
19018 }
19019 }
19020 impl ::std::str::FromStr for RpcQueryRequestVariant19RequestType {
19021 type Err = self::error::ConversionError;
19022 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19023 match value {
19024 "view_access_key" => Ok(Self::ViewAccessKey),
19025 _ => Err("invalid value".into()),
19026 }
19027 }
19028 }
19029 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant19RequestType {
19030 type Error = self::error::ConversionError;
19031 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19032 value.parse()
19033 }
19034 }
19035 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant19RequestType {
19036 type Error = self::error::ConversionError;
19037 fn try_from(
19038 value: &::std::string::String,
19039 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19040 value.parse()
19041 }
19042 }
19043 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant19RequestType {
19044 type Error = self::error::ConversionError;
19045 fn try_from(
19046 value: ::std::string::String,
19047 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19048 value.parse()
19049 }
19050 }
19051 #[doc = "`RpcQueryRequestVariant1RequestType`"]
19052 #[doc = r""]
19053 #[doc = r" <details><summary>JSON schema</summary>"]
19054 #[doc = r""]
19055 #[doc = r" ```json"]
19056 #[doc = "{"]
19057 #[doc = " \"type\": \"string\","]
19058 #[doc = " \"enum\": ["]
19059 #[doc = " \"view_code\""]
19060 #[doc = " ]"]
19061 #[doc = "}"]
19062 #[doc = r" ```"]
19063 #[doc = r" </details>"]
19064 #[derive(
19065 :: serde :: Deserialize,
19066 :: serde :: Serialize,
19067 Clone,
19068 Copy,
19069 Debug,
19070 Eq,
19071 Hash,
19072 Ord,
19073 PartialEq,
19074 PartialOrd,
19075 )]
19076 pub enum RpcQueryRequestVariant1RequestType {
19077 #[serde(rename = "view_code")]
19078 ViewCode,
19079 }
19080 impl ::std::convert::From<&Self> for RpcQueryRequestVariant1RequestType {
19081 fn from(value: &RpcQueryRequestVariant1RequestType) -> Self {
19082 value.clone()
19083 }
19084 }
19085 impl ::std::fmt::Display for RpcQueryRequestVariant1RequestType {
19086 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19087 match *self {
19088 Self::ViewCode => write!(f, "view_code"),
19089 }
19090 }
19091 }
19092 impl ::std::str::FromStr for RpcQueryRequestVariant1RequestType {
19093 type Err = self::error::ConversionError;
19094 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19095 match value {
19096 "view_code" => Ok(Self::ViewCode),
19097 _ => Err("invalid value".into()),
19098 }
19099 }
19100 }
19101 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant1RequestType {
19102 type Error = self::error::ConversionError;
19103 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19104 value.parse()
19105 }
19106 }
19107 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant1RequestType {
19108 type Error = self::error::ConversionError;
19109 fn try_from(
19110 value: &::std::string::String,
19111 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19112 value.parse()
19113 }
19114 }
19115 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant1RequestType {
19116 type Error = self::error::ConversionError;
19117 fn try_from(
19118 value: ::std::string::String,
19119 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19120 value.parse()
19121 }
19122 }
19123 #[doc = "`RpcQueryRequestVariant20RequestType`"]
19124 #[doc = r""]
19125 #[doc = r" <details><summary>JSON schema</summary>"]
19126 #[doc = r""]
19127 #[doc = r" ```json"]
19128 #[doc = "{"]
19129 #[doc = " \"type\": \"string\","]
19130 #[doc = " \"enum\": ["]
19131 #[doc = " \"view_access_key_list\""]
19132 #[doc = " ]"]
19133 #[doc = "}"]
19134 #[doc = r" ```"]
19135 #[doc = r" </details>"]
19136 #[derive(
19137 :: serde :: Deserialize,
19138 :: serde :: Serialize,
19139 Clone,
19140 Copy,
19141 Debug,
19142 Eq,
19143 Hash,
19144 Ord,
19145 PartialEq,
19146 PartialOrd,
19147 )]
19148 pub enum RpcQueryRequestVariant20RequestType {
19149 #[serde(rename = "view_access_key_list")]
19150 ViewAccessKeyList,
19151 }
19152 impl ::std::convert::From<&Self> for RpcQueryRequestVariant20RequestType {
19153 fn from(value: &RpcQueryRequestVariant20RequestType) -> Self {
19154 value.clone()
19155 }
19156 }
19157 impl ::std::fmt::Display for RpcQueryRequestVariant20RequestType {
19158 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19159 match *self {
19160 Self::ViewAccessKeyList => write!(f, "view_access_key_list"),
19161 }
19162 }
19163 }
19164 impl ::std::str::FromStr for RpcQueryRequestVariant20RequestType {
19165 type Err = self::error::ConversionError;
19166 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19167 match value {
19168 "view_access_key_list" => Ok(Self::ViewAccessKeyList),
19169 _ => Err("invalid value".into()),
19170 }
19171 }
19172 }
19173 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant20RequestType {
19174 type Error = self::error::ConversionError;
19175 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19176 value.parse()
19177 }
19178 }
19179 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant20RequestType {
19180 type Error = self::error::ConversionError;
19181 fn try_from(
19182 value: &::std::string::String,
19183 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19184 value.parse()
19185 }
19186 }
19187 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant20RequestType {
19188 type Error = self::error::ConversionError;
19189 fn try_from(
19190 value: ::std::string::String,
19191 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19192 value.parse()
19193 }
19194 }
19195 #[doc = "`RpcQueryRequestVariant21RequestType`"]
19196 #[doc = r""]
19197 #[doc = r" <details><summary>JSON schema</summary>"]
19198 #[doc = r""]
19199 #[doc = r" ```json"]
19200 #[doc = "{"]
19201 #[doc = " \"type\": \"string\","]
19202 #[doc = " \"enum\": ["]
19203 #[doc = " \"call_function\""]
19204 #[doc = " ]"]
19205 #[doc = "}"]
19206 #[doc = r" ```"]
19207 #[doc = r" </details>"]
19208 #[derive(
19209 :: serde :: Deserialize,
19210 :: serde :: Serialize,
19211 Clone,
19212 Copy,
19213 Debug,
19214 Eq,
19215 Hash,
19216 Ord,
19217 PartialEq,
19218 PartialOrd,
19219 )]
19220 pub enum RpcQueryRequestVariant21RequestType {
19221 #[serde(rename = "call_function")]
19222 CallFunction,
19223 }
19224 impl ::std::convert::From<&Self> for RpcQueryRequestVariant21RequestType {
19225 fn from(value: &RpcQueryRequestVariant21RequestType) -> Self {
19226 value.clone()
19227 }
19228 }
19229 impl ::std::fmt::Display for RpcQueryRequestVariant21RequestType {
19230 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19231 match *self {
19232 Self::CallFunction => write!(f, "call_function"),
19233 }
19234 }
19235 }
19236 impl ::std::str::FromStr for RpcQueryRequestVariant21RequestType {
19237 type Err = self::error::ConversionError;
19238 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19239 match value {
19240 "call_function" => Ok(Self::CallFunction),
19241 _ => Err("invalid value".into()),
19242 }
19243 }
19244 }
19245 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant21RequestType {
19246 type Error = self::error::ConversionError;
19247 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19248 value.parse()
19249 }
19250 }
19251 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant21RequestType {
19252 type Error = self::error::ConversionError;
19253 fn try_from(
19254 value: &::std::string::String,
19255 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19256 value.parse()
19257 }
19258 }
19259 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant21RequestType {
19260 type Error = self::error::ConversionError;
19261 fn try_from(
19262 value: ::std::string::String,
19263 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19264 value.parse()
19265 }
19266 }
19267 #[doc = "`RpcQueryRequestVariant22RequestType`"]
19268 #[doc = r""]
19269 #[doc = r" <details><summary>JSON schema</summary>"]
19270 #[doc = r""]
19271 #[doc = r" ```json"]
19272 #[doc = "{"]
19273 #[doc = " \"type\": \"string\","]
19274 #[doc = " \"enum\": ["]
19275 #[doc = " \"view_global_contract_code\""]
19276 #[doc = " ]"]
19277 #[doc = "}"]
19278 #[doc = r" ```"]
19279 #[doc = r" </details>"]
19280 #[derive(
19281 :: serde :: Deserialize,
19282 :: serde :: Serialize,
19283 Clone,
19284 Copy,
19285 Debug,
19286 Eq,
19287 Hash,
19288 Ord,
19289 PartialEq,
19290 PartialOrd,
19291 )]
19292 pub enum RpcQueryRequestVariant22RequestType {
19293 #[serde(rename = "view_global_contract_code")]
19294 ViewGlobalContractCode,
19295 }
19296 impl ::std::convert::From<&Self> for RpcQueryRequestVariant22RequestType {
19297 fn from(value: &RpcQueryRequestVariant22RequestType) -> Self {
19298 value.clone()
19299 }
19300 }
19301 impl ::std::fmt::Display for RpcQueryRequestVariant22RequestType {
19302 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19303 match *self {
19304 Self::ViewGlobalContractCode => write!(f, "view_global_contract_code"),
19305 }
19306 }
19307 }
19308 impl ::std::str::FromStr for RpcQueryRequestVariant22RequestType {
19309 type Err = self::error::ConversionError;
19310 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19311 match value {
19312 "view_global_contract_code" => Ok(Self::ViewGlobalContractCode),
19313 _ => Err("invalid value".into()),
19314 }
19315 }
19316 }
19317 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant22RequestType {
19318 type Error = self::error::ConversionError;
19319 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19320 value.parse()
19321 }
19322 }
19323 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant22RequestType {
19324 type Error = self::error::ConversionError;
19325 fn try_from(
19326 value: &::std::string::String,
19327 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19328 value.parse()
19329 }
19330 }
19331 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant22RequestType {
19332 type Error = self::error::ConversionError;
19333 fn try_from(
19334 value: ::std::string::String,
19335 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19336 value.parse()
19337 }
19338 }
19339 #[doc = "`RpcQueryRequestVariant23RequestType`"]
19340 #[doc = r""]
19341 #[doc = r" <details><summary>JSON schema</summary>"]
19342 #[doc = r""]
19343 #[doc = r" ```json"]
19344 #[doc = "{"]
19345 #[doc = " \"type\": \"string\","]
19346 #[doc = " \"enum\": ["]
19347 #[doc = " \"view_global_contract_code_by_account_id\""]
19348 #[doc = " ]"]
19349 #[doc = "}"]
19350 #[doc = r" ```"]
19351 #[doc = r" </details>"]
19352 #[derive(
19353 :: serde :: Deserialize,
19354 :: serde :: Serialize,
19355 Clone,
19356 Copy,
19357 Debug,
19358 Eq,
19359 Hash,
19360 Ord,
19361 PartialEq,
19362 PartialOrd,
19363 )]
19364 pub enum RpcQueryRequestVariant23RequestType {
19365 #[serde(rename = "view_global_contract_code_by_account_id")]
19366 ViewGlobalContractCodeByAccountId,
19367 }
19368 impl ::std::convert::From<&Self> for RpcQueryRequestVariant23RequestType {
19369 fn from(value: &RpcQueryRequestVariant23RequestType) -> Self {
19370 value.clone()
19371 }
19372 }
19373 impl ::std::fmt::Display for RpcQueryRequestVariant23RequestType {
19374 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19375 match *self {
19376 Self::ViewGlobalContractCodeByAccountId => {
19377 write!(f, "view_global_contract_code_by_account_id")
19378 }
19379 }
19380 }
19381 }
19382 impl ::std::str::FromStr for RpcQueryRequestVariant23RequestType {
19383 type Err = self::error::ConversionError;
19384 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19385 match value {
19386 "view_global_contract_code_by_account_id" => {
19387 Ok(Self::ViewGlobalContractCodeByAccountId)
19388 }
19389 _ => Err("invalid value".into()),
19390 }
19391 }
19392 }
19393 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant23RequestType {
19394 type Error = self::error::ConversionError;
19395 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19396 value.parse()
19397 }
19398 }
19399 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant23RequestType {
19400 type Error = self::error::ConversionError;
19401 fn try_from(
19402 value: &::std::string::String,
19403 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19404 value.parse()
19405 }
19406 }
19407 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant23RequestType {
19408 type Error = self::error::ConversionError;
19409 fn try_from(
19410 value: ::std::string::String,
19411 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19412 value.parse()
19413 }
19414 }
19415 #[doc = "`RpcQueryRequestVariant2RequestType`"]
19416 #[doc = r""]
19417 #[doc = r" <details><summary>JSON schema</summary>"]
19418 #[doc = r""]
19419 #[doc = r" ```json"]
19420 #[doc = "{"]
19421 #[doc = " \"type\": \"string\","]
19422 #[doc = " \"enum\": ["]
19423 #[doc = " \"view_state\""]
19424 #[doc = " ]"]
19425 #[doc = "}"]
19426 #[doc = r" ```"]
19427 #[doc = r" </details>"]
19428 #[derive(
19429 :: serde :: Deserialize,
19430 :: serde :: Serialize,
19431 Clone,
19432 Copy,
19433 Debug,
19434 Eq,
19435 Hash,
19436 Ord,
19437 PartialEq,
19438 PartialOrd,
19439 )]
19440 pub enum RpcQueryRequestVariant2RequestType {
19441 #[serde(rename = "view_state")]
19442 ViewState,
19443 }
19444 impl ::std::convert::From<&Self> for RpcQueryRequestVariant2RequestType {
19445 fn from(value: &RpcQueryRequestVariant2RequestType) -> Self {
19446 value.clone()
19447 }
19448 }
19449 impl ::std::fmt::Display for RpcQueryRequestVariant2RequestType {
19450 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19451 match *self {
19452 Self::ViewState => write!(f, "view_state"),
19453 }
19454 }
19455 }
19456 impl ::std::str::FromStr for RpcQueryRequestVariant2RequestType {
19457 type Err = self::error::ConversionError;
19458 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19459 match value {
19460 "view_state" => Ok(Self::ViewState),
19461 _ => Err("invalid value".into()),
19462 }
19463 }
19464 }
19465 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant2RequestType {
19466 type Error = self::error::ConversionError;
19467 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19468 value.parse()
19469 }
19470 }
19471 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant2RequestType {
19472 type Error = self::error::ConversionError;
19473 fn try_from(
19474 value: &::std::string::String,
19475 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19476 value.parse()
19477 }
19478 }
19479 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant2RequestType {
19480 type Error = self::error::ConversionError;
19481 fn try_from(
19482 value: ::std::string::String,
19483 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19484 value.parse()
19485 }
19486 }
19487 #[doc = "`RpcQueryRequestVariant3RequestType`"]
19488 #[doc = r""]
19489 #[doc = r" <details><summary>JSON schema</summary>"]
19490 #[doc = r""]
19491 #[doc = r" ```json"]
19492 #[doc = "{"]
19493 #[doc = " \"type\": \"string\","]
19494 #[doc = " \"enum\": ["]
19495 #[doc = " \"view_access_key\""]
19496 #[doc = " ]"]
19497 #[doc = "}"]
19498 #[doc = r" ```"]
19499 #[doc = r" </details>"]
19500 #[derive(
19501 :: serde :: Deserialize,
19502 :: serde :: Serialize,
19503 Clone,
19504 Copy,
19505 Debug,
19506 Eq,
19507 Hash,
19508 Ord,
19509 PartialEq,
19510 PartialOrd,
19511 )]
19512 pub enum RpcQueryRequestVariant3RequestType {
19513 #[serde(rename = "view_access_key")]
19514 ViewAccessKey,
19515 }
19516 impl ::std::convert::From<&Self> for RpcQueryRequestVariant3RequestType {
19517 fn from(value: &RpcQueryRequestVariant3RequestType) -> Self {
19518 value.clone()
19519 }
19520 }
19521 impl ::std::fmt::Display for RpcQueryRequestVariant3RequestType {
19522 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19523 match *self {
19524 Self::ViewAccessKey => write!(f, "view_access_key"),
19525 }
19526 }
19527 }
19528 impl ::std::str::FromStr for RpcQueryRequestVariant3RequestType {
19529 type Err = self::error::ConversionError;
19530 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19531 match value {
19532 "view_access_key" => Ok(Self::ViewAccessKey),
19533 _ => Err("invalid value".into()),
19534 }
19535 }
19536 }
19537 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant3RequestType {
19538 type Error = self::error::ConversionError;
19539 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19540 value.parse()
19541 }
19542 }
19543 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant3RequestType {
19544 type Error = self::error::ConversionError;
19545 fn try_from(
19546 value: &::std::string::String,
19547 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19548 value.parse()
19549 }
19550 }
19551 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant3RequestType {
19552 type Error = self::error::ConversionError;
19553 fn try_from(
19554 value: ::std::string::String,
19555 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19556 value.parse()
19557 }
19558 }
19559 #[doc = "`RpcQueryRequestVariant4RequestType`"]
19560 #[doc = r""]
19561 #[doc = r" <details><summary>JSON schema</summary>"]
19562 #[doc = r""]
19563 #[doc = r" ```json"]
19564 #[doc = "{"]
19565 #[doc = " \"type\": \"string\","]
19566 #[doc = " \"enum\": ["]
19567 #[doc = " \"view_access_key_list\""]
19568 #[doc = " ]"]
19569 #[doc = "}"]
19570 #[doc = r" ```"]
19571 #[doc = r" </details>"]
19572 #[derive(
19573 :: serde :: Deserialize,
19574 :: serde :: Serialize,
19575 Clone,
19576 Copy,
19577 Debug,
19578 Eq,
19579 Hash,
19580 Ord,
19581 PartialEq,
19582 PartialOrd,
19583 )]
19584 pub enum RpcQueryRequestVariant4RequestType {
19585 #[serde(rename = "view_access_key_list")]
19586 ViewAccessKeyList,
19587 }
19588 impl ::std::convert::From<&Self> for RpcQueryRequestVariant4RequestType {
19589 fn from(value: &RpcQueryRequestVariant4RequestType) -> Self {
19590 value.clone()
19591 }
19592 }
19593 impl ::std::fmt::Display for RpcQueryRequestVariant4RequestType {
19594 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19595 match *self {
19596 Self::ViewAccessKeyList => write!(f, "view_access_key_list"),
19597 }
19598 }
19599 }
19600 impl ::std::str::FromStr for RpcQueryRequestVariant4RequestType {
19601 type Err = self::error::ConversionError;
19602 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19603 match value {
19604 "view_access_key_list" => Ok(Self::ViewAccessKeyList),
19605 _ => Err("invalid value".into()),
19606 }
19607 }
19608 }
19609 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant4RequestType {
19610 type Error = self::error::ConversionError;
19611 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19612 value.parse()
19613 }
19614 }
19615 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant4RequestType {
19616 type Error = self::error::ConversionError;
19617 fn try_from(
19618 value: &::std::string::String,
19619 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19620 value.parse()
19621 }
19622 }
19623 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant4RequestType {
19624 type Error = self::error::ConversionError;
19625 fn try_from(
19626 value: ::std::string::String,
19627 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19628 value.parse()
19629 }
19630 }
19631 #[doc = "`RpcQueryRequestVariant5RequestType`"]
19632 #[doc = r""]
19633 #[doc = r" <details><summary>JSON schema</summary>"]
19634 #[doc = r""]
19635 #[doc = r" ```json"]
19636 #[doc = "{"]
19637 #[doc = " \"type\": \"string\","]
19638 #[doc = " \"enum\": ["]
19639 #[doc = " \"call_function\""]
19640 #[doc = " ]"]
19641 #[doc = "}"]
19642 #[doc = r" ```"]
19643 #[doc = r" </details>"]
19644 #[derive(
19645 :: serde :: Deserialize,
19646 :: serde :: Serialize,
19647 Clone,
19648 Copy,
19649 Debug,
19650 Eq,
19651 Hash,
19652 Ord,
19653 PartialEq,
19654 PartialOrd,
19655 )]
19656 pub enum RpcQueryRequestVariant5RequestType {
19657 #[serde(rename = "call_function")]
19658 CallFunction,
19659 }
19660 impl ::std::convert::From<&Self> for RpcQueryRequestVariant5RequestType {
19661 fn from(value: &RpcQueryRequestVariant5RequestType) -> Self {
19662 value.clone()
19663 }
19664 }
19665 impl ::std::fmt::Display for RpcQueryRequestVariant5RequestType {
19666 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19667 match *self {
19668 Self::CallFunction => write!(f, "call_function"),
19669 }
19670 }
19671 }
19672 impl ::std::str::FromStr for RpcQueryRequestVariant5RequestType {
19673 type Err = self::error::ConversionError;
19674 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19675 match value {
19676 "call_function" => Ok(Self::CallFunction),
19677 _ => Err("invalid value".into()),
19678 }
19679 }
19680 }
19681 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant5RequestType {
19682 type Error = self::error::ConversionError;
19683 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19684 value.parse()
19685 }
19686 }
19687 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant5RequestType {
19688 type Error = self::error::ConversionError;
19689 fn try_from(
19690 value: &::std::string::String,
19691 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19692 value.parse()
19693 }
19694 }
19695 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant5RequestType {
19696 type Error = self::error::ConversionError;
19697 fn try_from(
19698 value: ::std::string::String,
19699 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19700 value.parse()
19701 }
19702 }
19703 #[doc = "`RpcQueryRequestVariant6RequestType`"]
19704 #[doc = r""]
19705 #[doc = r" <details><summary>JSON schema</summary>"]
19706 #[doc = r""]
19707 #[doc = r" ```json"]
19708 #[doc = "{"]
19709 #[doc = " \"type\": \"string\","]
19710 #[doc = " \"enum\": ["]
19711 #[doc = " \"view_global_contract_code\""]
19712 #[doc = " ]"]
19713 #[doc = "}"]
19714 #[doc = r" ```"]
19715 #[doc = r" </details>"]
19716 #[derive(
19717 :: serde :: Deserialize,
19718 :: serde :: Serialize,
19719 Clone,
19720 Copy,
19721 Debug,
19722 Eq,
19723 Hash,
19724 Ord,
19725 PartialEq,
19726 PartialOrd,
19727 )]
19728 pub enum RpcQueryRequestVariant6RequestType {
19729 #[serde(rename = "view_global_contract_code")]
19730 ViewGlobalContractCode,
19731 }
19732 impl ::std::convert::From<&Self> for RpcQueryRequestVariant6RequestType {
19733 fn from(value: &RpcQueryRequestVariant6RequestType) -> Self {
19734 value.clone()
19735 }
19736 }
19737 impl ::std::fmt::Display for RpcQueryRequestVariant6RequestType {
19738 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19739 match *self {
19740 Self::ViewGlobalContractCode => write!(f, "view_global_contract_code"),
19741 }
19742 }
19743 }
19744 impl ::std::str::FromStr for RpcQueryRequestVariant6RequestType {
19745 type Err = self::error::ConversionError;
19746 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19747 match value {
19748 "view_global_contract_code" => Ok(Self::ViewGlobalContractCode),
19749 _ => Err("invalid value".into()),
19750 }
19751 }
19752 }
19753 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant6RequestType {
19754 type Error = self::error::ConversionError;
19755 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19756 value.parse()
19757 }
19758 }
19759 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant6RequestType {
19760 type Error = self::error::ConversionError;
19761 fn try_from(
19762 value: &::std::string::String,
19763 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19764 value.parse()
19765 }
19766 }
19767 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant6RequestType {
19768 type Error = self::error::ConversionError;
19769 fn try_from(
19770 value: ::std::string::String,
19771 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19772 value.parse()
19773 }
19774 }
19775 #[doc = "`RpcQueryRequestVariant7RequestType`"]
19776 #[doc = r""]
19777 #[doc = r" <details><summary>JSON schema</summary>"]
19778 #[doc = r""]
19779 #[doc = r" ```json"]
19780 #[doc = "{"]
19781 #[doc = " \"type\": \"string\","]
19782 #[doc = " \"enum\": ["]
19783 #[doc = " \"view_global_contract_code_by_account_id\""]
19784 #[doc = " ]"]
19785 #[doc = "}"]
19786 #[doc = r" ```"]
19787 #[doc = r" </details>"]
19788 #[derive(
19789 :: serde :: Deserialize,
19790 :: serde :: Serialize,
19791 Clone,
19792 Copy,
19793 Debug,
19794 Eq,
19795 Hash,
19796 Ord,
19797 PartialEq,
19798 PartialOrd,
19799 )]
19800 pub enum RpcQueryRequestVariant7RequestType {
19801 #[serde(rename = "view_global_contract_code_by_account_id")]
19802 ViewGlobalContractCodeByAccountId,
19803 }
19804 impl ::std::convert::From<&Self> for RpcQueryRequestVariant7RequestType {
19805 fn from(value: &RpcQueryRequestVariant7RequestType) -> Self {
19806 value.clone()
19807 }
19808 }
19809 impl ::std::fmt::Display for RpcQueryRequestVariant7RequestType {
19810 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19811 match *self {
19812 Self::ViewGlobalContractCodeByAccountId => {
19813 write!(f, "view_global_contract_code_by_account_id")
19814 }
19815 }
19816 }
19817 }
19818 impl ::std::str::FromStr for RpcQueryRequestVariant7RequestType {
19819 type Err = self::error::ConversionError;
19820 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19821 match value {
19822 "view_global_contract_code_by_account_id" => {
19823 Ok(Self::ViewGlobalContractCodeByAccountId)
19824 }
19825 _ => Err("invalid value".into()),
19826 }
19827 }
19828 }
19829 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant7RequestType {
19830 type Error = self::error::ConversionError;
19831 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19832 value.parse()
19833 }
19834 }
19835 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant7RequestType {
19836 type Error = self::error::ConversionError;
19837 fn try_from(
19838 value: &::std::string::String,
19839 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19840 value.parse()
19841 }
19842 }
19843 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant7RequestType {
19844 type Error = self::error::ConversionError;
19845 fn try_from(
19846 value: ::std::string::String,
19847 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19848 value.parse()
19849 }
19850 }
19851 #[doc = "`RpcQueryRequestVariant8RequestType`"]
19852 #[doc = r""]
19853 #[doc = r" <details><summary>JSON schema</summary>"]
19854 #[doc = r""]
19855 #[doc = r" ```json"]
19856 #[doc = "{"]
19857 #[doc = " \"type\": \"string\","]
19858 #[doc = " \"enum\": ["]
19859 #[doc = " \"view_account\""]
19860 #[doc = " ]"]
19861 #[doc = "}"]
19862 #[doc = r" ```"]
19863 #[doc = r" </details>"]
19864 #[derive(
19865 :: serde :: Deserialize,
19866 :: serde :: Serialize,
19867 Clone,
19868 Copy,
19869 Debug,
19870 Eq,
19871 Hash,
19872 Ord,
19873 PartialEq,
19874 PartialOrd,
19875 )]
19876 pub enum RpcQueryRequestVariant8RequestType {
19877 #[serde(rename = "view_account")]
19878 ViewAccount,
19879 }
19880 impl ::std::convert::From<&Self> for RpcQueryRequestVariant8RequestType {
19881 fn from(value: &RpcQueryRequestVariant8RequestType) -> Self {
19882 value.clone()
19883 }
19884 }
19885 impl ::std::fmt::Display for RpcQueryRequestVariant8RequestType {
19886 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19887 match *self {
19888 Self::ViewAccount => write!(f, "view_account"),
19889 }
19890 }
19891 }
19892 impl ::std::str::FromStr for RpcQueryRequestVariant8RequestType {
19893 type Err = self::error::ConversionError;
19894 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19895 match value {
19896 "view_account" => Ok(Self::ViewAccount),
19897 _ => Err("invalid value".into()),
19898 }
19899 }
19900 }
19901 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant8RequestType {
19902 type Error = self::error::ConversionError;
19903 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19904 value.parse()
19905 }
19906 }
19907 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant8RequestType {
19908 type Error = self::error::ConversionError;
19909 fn try_from(
19910 value: &::std::string::String,
19911 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19912 value.parse()
19913 }
19914 }
19915 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant8RequestType {
19916 type Error = self::error::ConversionError;
19917 fn try_from(
19918 value: ::std::string::String,
19919 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19920 value.parse()
19921 }
19922 }
19923 #[doc = "`RpcQueryRequestVariant9RequestType`"]
19924 #[doc = r""]
19925 #[doc = r" <details><summary>JSON schema</summary>"]
19926 #[doc = r""]
19927 #[doc = r" ```json"]
19928 #[doc = "{"]
19929 #[doc = " \"type\": \"string\","]
19930 #[doc = " \"enum\": ["]
19931 #[doc = " \"view_code\""]
19932 #[doc = " ]"]
19933 #[doc = "}"]
19934 #[doc = r" ```"]
19935 #[doc = r" </details>"]
19936 #[derive(
19937 :: serde :: Deserialize,
19938 :: serde :: Serialize,
19939 Clone,
19940 Copy,
19941 Debug,
19942 Eq,
19943 Hash,
19944 Ord,
19945 PartialEq,
19946 PartialOrd,
19947 )]
19948 pub enum RpcQueryRequestVariant9RequestType {
19949 #[serde(rename = "view_code")]
19950 ViewCode,
19951 }
19952 impl ::std::convert::From<&Self> for RpcQueryRequestVariant9RequestType {
19953 fn from(value: &RpcQueryRequestVariant9RequestType) -> Self {
19954 value.clone()
19955 }
19956 }
19957 impl ::std::fmt::Display for RpcQueryRequestVariant9RequestType {
19958 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19959 match *self {
19960 Self::ViewCode => write!(f, "view_code"),
19961 }
19962 }
19963 }
19964 impl ::std::str::FromStr for RpcQueryRequestVariant9RequestType {
19965 type Err = self::error::ConversionError;
19966 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19967 match value {
19968 "view_code" => Ok(Self::ViewCode),
19969 _ => Err("invalid value".into()),
19970 }
19971 }
19972 }
19973 impl ::std::convert::TryFrom<&str> for RpcQueryRequestVariant9RequestType {
19974 type Error = self::error::ConversionError;
19975 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
19976 value.parse()
19977 }
19978 }
19979 impl ::std::convert::TryFrom<&::std::string::String> for RpcQueryRequestVariant9RequestType {
19980 type Error = self::error::ConversionError;
19981 fn try_from(
19982 value: &::std::string::String,
19983 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19984 value.parse()
19985 }
19986 }
19987 impl ::std::convert::TryFrom<::std::string::String> for RpcQueryRequestVariant9RequestType {
19988 type Error = self::error::ConversionError;
19989 fn try_from(
19990 value: ::std::string::String,
19991 ) -> ::std::result::Result<Self, self::error::ConversionError> {
19992 value.parse()
19993 }
19994 }
19995 #[doc = "`RpcQueryResponse`"]
19996 #[doc = r""]
19997 #[doc = r" <details><summary>JSON schema</summary>"]
19998 #[doc = r""]
19999 #[doc = r" ```json"]
20000 #[doc = "{"]
20001 #[doc = " \"type\": \"object\","]
20002 #[doc = " \"anyOf\": ["]
20003 #[doc = " {"]
20004 #[doc = " \"$ref\": \"#/components/schemas/AccountView\""]
20005 #[doc = " },"]
20006 #[doc = " {"]
20007 #[doc = " \"$ref\": \"#/components/schemas/ContractCodeView\""]
20008 #[doc = " },"]
20009 #[doc = " {"]
20010 #[doc = " \"$ref\": \"#/components/schemas/ViewStateResult\""]
20011 #[doc = " },"]
20012 #[doc = " {"]
20013 #[doc = " \"$ref\": \"#/components/schemas/CallResult\""]
20014 #[doc = " },"]
20015 #[doc = " {"]
20016 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyView\""]
20017 #[doc = " },"]
20018 #[doc = " {"]
20019 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyList\""]
20020 #[doc = " }"]
20021 #[doc = " ],"]
20022 #[doc = " \"required\": ["]
20023 #[doc = " \"block_hash\","]
20024 #[doc = " \"block_height\""]
20025 #[doc = " ],"]
20026 #[doc = " \"properties\": {"]
20027 #[doc = " \"block_hash\": {"]
20028 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
20029 #[doc = " },"]
20030 #[doc = " \"block_height\": {"]
20031 #[doc = " \"type\": \"integer\","]
20032 #[doc = " \"format\": \"uint64\","]
20033 #[doc = " \"minimum\": 0.0"]
20034 #[doc = " }"]
20035 #[doc = " }"]
20036 #[doc = "}"]
20037 #[doc = r" ```"]
20038 #[doc = r" </details>"]
20039 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20040 #[serde(untagged)]
20041 pub enum RpcQueryResponse {
20042 Variant0 {
20043 amount: ::std::string::String,
20044 block_hash: CryptoHash,
20045 block_height: u64,
20046 code_hash: CryptoHash,
20047 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
20048 global_contract_account_id: ::std::option::Option<AccountId>,
20049 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
20050 global_contract_hash: ::std::option::Option<CryptoHash>,
20051 locked: ::std::string::String,
20052 #[doc = "TODO(2271): deprecated."]
20053 #[serde(default)]
20054 storage_paid_at: u64,
20055 storage_usage: u64,
20056 },
20057 Variant1 {
20058 block_hash: CryptoHash,
20059 block_height: u64,
20060 code_base64: ::std::string::String,
20061 hash: CryptoHash,
20062 },
20063 Variant2 {
20064 block_hash: CryptoHash,
20065 block_height: u64,
20066 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
20067 proof: ::std::vec::Vec<::std::string::String>,
20068 values: ::std::vec::Vec<StateItem>,
20069 },
20070 Variant3 {
20071 block_hash: CryptoHash,
20072 block_height: u64,
20073 logs: ::std::vec::Vec<::std::string::String>,
20074 result: ::std::vec::Vec<u8>,
20075 },
20076 Variant4 {
20077 block_hash: CryptoHash,
20078 block_height: u64,
20079 nonce: u64,
20080 permission: AccessKeyPermissionView,
20081 },
20082 Variant5 {
20083 block_hash: CryptoHash,
20084 block_height: u64,
20085 keys: ::std::vec::Vec<AccessKeyInfoView>,
20086 },
20087 }
20088 impl ::std::convert::From<&Self> for RpcQueryResponse {
20089 fn from(value: &RpcQueryResponse) -> Self {
20090 value.clone()
20091 }
20092 }
20093 #[doc = "`RpcReceiptRequest`"]
20094 #[doc = r""]
20095 #[doc = r" <details><summary>JSON schema</summary>"]
20096 #[doc = r""]
20097 #[doc = r" ```json"]
20098 #[doc = "{"]
20099 #[doc = " \"title\": \"RpcReceiptRequest\","]
20100 #[doc = " \"type\": \"object\","]
20101 #[doc = " \"required\": ["]
20102 #[doc = " \"receipt_id\""]
20103 #[doc = " ],"]
20104 #[doc = " \"properties\": {"]
20105 #[doc = " \"receipt_id\": {"]
20106 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
20107 #[doc = " }"]
20108 #[doc = " }"]
20109 #[doc = "}"]
20110 #[doc = r" ```"]
20111 #[doc = r" </details>"]
20112 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20113 pub struct RpcReceiptRequest {
20114 pub receipt_id: CryptoHash,
20115 }
20116 impl ::std::convert::From<&RpcReceiptRequest> for RpcReceiptRequest {
20117 fn from(value: &RpcReceiptRequest) -> Self {
20118 value.clone()
20119 }
20120 }
20121 #[doc = "`RpcReceiptResponse`"]
20122 #[doc = r""]
20123 #[doc = r" <details><summary>JSON schema</summary>"]
20124 #[doc = r""]
20125 #[doc = r" ```json"]
20126 #[doc = "{"]
20127 #[doc = " \"type\": \"object\","]
20128 #[doc = " \"required\": ["]
20129 #[doc = " \"predecessor_id\","]
20130 #[doc = " \"receipt\","]
20131 #[doc = " \"receipt_id\","]
20132 #[doc = " \"receiver_id\""]
20133 #[doc = " ],"]
20134 #[doc = " \"properties\": {"]
20135 #[doc = " \"predecessor_id\": {"]
20136 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20137 #[doc = " },"]
20138 #[doc = " \"priority\": {"]
20139 #[doc = " \"default\": 0,"]
20140 #[doc = " \"type\": \"integer\","]
20141 #[doc = " \"format\": \"uint64\","]
20142 #[doc = " \"minimum\": 0.0"]
20143 #[doc = " },"]
20144 #[doc = " \"receipt\": {"]
20145 #[doc = " \"$ref\": \"#/components/schemas/ReceiptEnumView\""]
20146 #[doc = " },"]
20147 #[doc = " \"receipt_id\": {"]
20148 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
20149 #[doc = " },"]
20150 #[doc = " \"receiver_id\": {"]
20151 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20152 #[doc = " }"]
20153 #[doc = " }"]
20154 #[doc = "}"]
20155 #[doc = r" ```"]
20156 #[doc = r" </details>"]
20157 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20158 pub struct RpcReceiptResponse {
20159 pub predecessor_id: AccountId,
20160 #[serde(default)]
20161 pub priority: u64,
20162 pub receipt: ReceiptEnumView,
20163 pub receipt_id: CryptoHash,
20164 pub receiver_id: AccountId,
20165 }
20166 impl ::std::convert::From<&RpcReceiptResponse> for RpcReceiptResponse {
20167 fn from(value: &RpcReceiptResponse) -> Self {
20168 value.clone()
20169 }
20170 }
20171 #[doc = "`RpcRequestValidationErrorKind`"]
20172 #[doc = r""]
20173 #[doc = r" <details><summary>JSON schema</summary>"]
20174 #[doc = r""]
20175 #[doc = r" ```json"]
20176 #[doc = "{"]
20177 #[doc = " \"oneOf\": ["]
20178 #[doc = " {"]
20179 #[doc = " \"type\": \"object\","]
20180 #[doc = " \"required\": ["]
20181 #[doc = " \"info\","]
20182 #[doc = " \"name\""]
20183 #[doc = " ],"]
20184 #[doc = " \"properties\": {"]
20185 #[doc = " \"info\": {"]
20186 #[doc = " \"type\": \"object\","]
20187 #[doc = " \"required\": ["]
20188 #[doc = " \"method_name\""]
20189 #[doc = " ],"]
20190 #[doc = " \"properties\": {"]
20191 #[doc = " \"method_name\": {"]
20192 #[doc = " \"type\": \"string\""]
20193 #[doc = " }"]
20194 #[doc = " }"]
20195 #[doc = " },"]
20196 #[doc = " \"name\": {"]
20197 #[doc = " \"type\": \"string\","]
20198 #[doc = " \"enum\": ["]
20199 #[doc = " \"METHOD_NOT_FOUND\""]
20200 #[doc = " ]"]
20201 #[doc = " }"]
20202 #[doc = " }"]
20203 #[doc = " },"]
20204 #[doc = " {"]
20205 #[doc = " \"type\": \"object\","]
20206 #[doc = " \"required\": ["]
20207 #[doc = " \"info\","]
20208 #[doc = " \"name\""]
20209 #[doc = " ],"]
20210 #[doc = " \"properties\": {"]
20211 #[doc = " \"info\": {"]
20212 #[doc = " \"type\": \"object\","]
20213 #[doc = " \"required\": ["]
20214 #[doc = " \"error_message\""]
20215 #[doc = " ],"]
20216 #[doc = " \"properties\": {"]
20217 #[doc = " \"error_message\": {"]
20218 #[doc = " \"type\": \"string\""]
20219 #[doc = " }"]
20220 #[doc = " }"]
20221 #[doc = " },"]
20222 #[doc = " \"name\": {"]
20223 #[doc = " \"type\": \"string\","]
20224 #[doc = " \"enum\": ["]
20225 #[doc = " \"PARSE_ERROR\""]
20226 #[doc = " ]"]
20227 #[doc = " }"]
20228 #[doc = " }"]
20229 #[doc = " }"]
20230 #[doc = " ]"]
20231 #[doc = "}"]
20232 #[doc = r" ```"]
20233 #[doc = r" </details>"]
20234 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20235 #[serde(tag = "name", content = "info")]
20236 pub enum RpcRequestValidationErrorKind {
20237 #[serde(rename = "METHOD_NOT_FOUND")]
20238 MethodNotFound { method_name: ::std::string::String },
20239 #[serde(rename = "PARSE_ERROR")]
20240 ParseError {
20241 error_message: ::std::string::String,
20242 },
20243 }
20244 impl ::std::convert::From<&Self> for RpcRequestValidationErrorKind {
20245 fn from(value: &RpcRequestValidationErrorKind) -> Self {
20246 value.clone()
20247 }
20248 }
20249 #[doc = "`RpcSendTransactionRequest`"]
20250 #[doc = r""]
20251 #[doc = r" <details><summary>JSON schema</summary>"]
20252 #[doc = r""]
20253 #[doc = r" ```json"]
20254 #[doc = "{"]
20255 #[doc = " \"title\": \"RpcSendTransactionRequest\","]
20256 #[doc = " \"type\": \"object\","]
20257 #[doc = " \"required\": ["]
20258 #[doc = " \"signed_tx_base64\""]
20259 #[doc = " ],"]
20260 #[doc = " \"properties\": {"]
20261 #[doc = " \"signed_tx_base64\": {"]
20262 #[doc = " \"$ref\": \"#/components/schemas/SignedTransaction\""]
20263 #[doc = " },"]
20264 #[doc = " \"wait_until\": {"]
20265 #[doc = " \"default\": \"EXECUTED_OPTIMISTIC\","]
20266 #[doc = " \"allOf\": ["]
20267 #[doc = " {"]
20268 #[doc = " \"$ref\": \"#/components/schemas/TxExecutionStatus\""]
20269 #[doc = " }"]
20270 #[doc = " ]"]
20271 #[doc = " }"]
20272 #[doc = " }"]
20273 #[doc = "}"]
20274 #[doc = r" ```"]
20275 #[doc = r" </details>"]
20276 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20277 pub struct RpcSendTransactionRequest {
20278 pub signed_tx_base64: SignedTransaction,
20279 #[serde(default = "defaults::rpc_send_transaction_request_wait_until")]
20280 pub wait_until: TxExecutionStatus,
20281 }
20282 impl ::std::convert::From<&RpcSendTransactionRequest> for RpcSendTransactionRequest {
20283 fn from(value: &RpcSendTransactionRequest) -> Self {
20284 value.clone()
20285 }
20286 }
20287 #[doc = "`RpcSplitStorageInfoRequest`"]
20288 #[doc = r""]
20289 #[doc = r" <details><summary>JSON schema</summary>"]
20290 #[doc = r""]
20291 #[doc = r" ```json"]
20292 #[doc = "{"]
20293 #[doc = " \"title\": \"RpcSplitStorageInfoRequest\","]
20294 #[doc = " \"type\": \"object\""]
20295 #[doc = "}"]
20296 #[doc = r" ```"]
20297 #[doc = r" </details>"]
20298 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20299 #[serde(transparent)]
20300 pub struct RpcSplitStorageInfoRequest(
20301 pub ::serde_json::Map<::std::string::String, ::serde_json::Value>,
20302 );
20303 impl ::std::ops::Deref for RpcSplitStorageInfoRequest {
20304 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
20305 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
20306 &self.0
20307 }
20308 }
20309 impl ::std::convert::From<RpcSplitStorageInfoRequest>
20310 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
20311 {
20312 fn from(value: RpcSplitStorageInfoRequest) -> Self {
20313 value.0
20314 }
20315 }
20316 impl ::std::convert::From<&RpcSplitStorageInfoRequest> for RpcSplitStorageInfoRequest {
20317 fn from(value: &RpcSplitStorageInfoRequest) -> Self {
20318 value.clone()
20319 }
20320 }
20321 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
20322 for RpcSplitStorageInfoRequest
20323 {
20324 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
20325 Self(value)
20326 }
20327 }
20328 #[doc = "Contains the split storage information."]
20329 #[doc = r""]
20330 #[doc = r" <details><summary>JSON schema</summary>"]
20331 #[doc = r""]
20332 #[doc = r" ```json"]
20333 #[doc = "{"]
20334 #[doc = " \"description\": \"Contains the split storage information.\","]
20335 #[doc = " \"type\": \"object\","]
20336 #[doc = " \"properties\": {"]
20337 #[doc = " \"cold_head_height\": {"]
20338 #[doc = " \"type\": ["]
20339 #[doc = " \"integer\","]
20340 #[doc = " \"null\""]
20341 #[doc = " ],"]
20342 #[doc = " \"format\": \"uint64\","]
20343 #[doc = " \"minimum\": 0.0"]
20344 #[doc = " },"]
20345 #[doc = " \"final_head_height\": {"]
20346 #[doc = " \"type\": ["]
20347 #[doc = " \"integer\","]
20348 #[doc = " \"null\""]
20349 #[doc = " ],"]
20350 #[doc = " \"format\": \"uint64\","]
20351 #[doc = " \"minimum\": 0.0"]
20352 #[doc = " },"]
20353 #[doc = " \"head_height\": {"]
20354 #[doc = " \"type\": ["]
20355 #[doc = " \"integer\","]
20356 #[doc = " \"null\""]
20357 #[doc = " ],"]
20358 #[doc = " \"format\": \"uint64\","]
20359 #[doc = " \"minimum\": 0.0"]
20360 #[doc = " },"]
20361 #[doc = " \"hot_db_kind\": {"]
20362 #[doc = " \"type\": ["]
20363 #[doc = " \"string\","]
20364 #[doc = " \"null\""]
20365 #[doc = " ]"]
20366 #[doc = " }"]
20367 #[doc = " }"]
20368 #[doc = "}"]
20369 #[doc = r" ```"]
20370 #[doc = r" </details>"]
20371 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20372 pub struct RpcSplitStorageInfoResponse {
20373 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
20374 pub cold_head_height: ::std::option::Option<u64>,
20375 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
20376 pub final_head_height: ::std::option::Option<u64>,
20377 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
20378 pub head_height: ::std::option::Option<u64>,
20379 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
20380 pub hot_db_kind: ::std::option::Option<::std::string::String>,
20381 }
20382 impl ::std::convert::From<&RpcSplitStorageInfoResponse> for RpcSplitStorageInfoResponse {
20383 fn from(value: &RpcSplitStorageInfoResponse) -> Self {
20384 value.clone()
20385 }
20386 }
20387 impl ::std::default::Default for RpcSplitStorageInfoResponse {
20388 fn default() -> Self {
20389 Self {
20390 cold_head_height: Default::default(),
20391 final_head_height: Default::default(),
20392 head_height: Default::default(),
20393 hot_db_kind: Default::default(),
20394 }
20395 }
20396 }
20397 #[doc = "It is a [serializable view] of [`StateChangesRequest`].\n\n [serializable view]: ./index.html\n [`StateChangesRequest`]: ../types/struct.StateChangesRequest.html"]
20398 #[doc = r""]
20399 #[doc = r" <details><summary>JSON schema</summary>"]
20400 #[doc = r""]
20401 #[doc = r" ```json"]
20402 #[doc = "{"]
20403 #[doc = " \"title\": \"RpcStateChangesInBlockByTypeRequest\","]
20404 #[doc = " \"description\": \"It is a [serializable view] of [`StateChangesRequest`].\\n\\n [serializable view]: ./index.html\\n [`StateChangesRequest`]: ../types/struct.StateChangesRequest.html\","]
20405 #[doc = " \"type\": \"object\","]
20406 #[doc = " \"oneOf\": ["]
20407 #[doc = " {"]
20408 #[doc = " \"allOf\": ["]
20409 #[doc = " {"]
20410 #[doc = " \"type\": \"object\","]
20411 #[doc = " \"required\": ["]
20412 #[doc = " \"block_id\""]
20413 #[doc = " ],"]
20414 #[doc = " \"properties\": {"]
20415 #[doc = " \"block_id\": {"]
20416 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
20417 #[doc = " }"]
20418 #[doc = " }"]
20419 #[doc = " },"]
20420 #[doc = " {"]
20421 #[doc = " \"type\": \"object\","]
20422 #[doc = " \"required\": ["]
20423 #[doc = " \"account_ids\","]
20424 #[doc = " \"changes_type\""]
20425 #[doc = " ],"]
20426 #[doc = " \"properties\": {"]
20427 #[doc = " \"account_ids\": {"]
20428 #[doc = " \"type\": \"array\","]
20429 #[doc = " \"items\": {"]
20430 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20431 #[doc = " }"]
20432 #[doc = " },"]
20433 #[doc = " \"changes_type\": {"]
20434 #[doc = " \"type\": \"string\","]
20435 #[doc = " \"enum\": ["]
20436 #[doc = " \"account_changes\""]
20437 #[doc = " ]"]
20438 #[doc = " }"]
20439 #[doc = " }"]
20440 #[doc = " }"]
20441 #[doc = " ]"]
20442 #[doc = " },"]
20443 #[doc = " {"]
20444 #[doc = " \"allOf\": ["]
20445 #[doc = " {"]
20446 #[doc = " \"type\": \"object\","]
20447 #[doc = " \"required\": ["]
20448 #[doc = " \"block_id\""]
20449 #[doc = " ],"]
20450 #[doc = " \"properties\": {"]
20451 #[doc = " \"block_id\": {"]
20452 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
20453 #[doc = " }"]
20454 #[doc = " }"]
20455 #[doc = " },"]
20456 #[doc = " {"]
20457 #[doc = " \"type\": \"object\","]
20458 #[doc = " \"required\": ["]
20459 #[doc = " \"changes_type\","]
20460 #[doc = " \"keys\""]
20461 #[doc = " ],"]
20462 #[doc = " \"properties\": {"]
20463 #[doc = " \"changes_type\": {"]
20464 #[doc = " \"type\": \"string\","]
20465 #[doc = " \"enum\": ["]
20466 #[doc = " \"single_access_key_changes\""]
20467 #[doc = " ]"]
20468 #[doc = " },"]
20469 #[doc = " \"keys\": {"]
20470 #[doc = " \"type\": \"array\","]
20471 #[doc = " \"items\": {"]
20472 #[doc = " \"$ref\": \"#/components/schemas/AccountWithPublicKey\""]
20473 #[doc = " }"]
20474 #[doc = " }"]
20475 #[doc = " }"]
20476 #[doc = " }"]
20477 #[doc = " ]"]
20478 #[doc = " },"]
20479 #[doc = " {"]
20480 #[doc = " \"allOf\": ["]
20481 #[doc = " {"]
20482 #[doc = " \"type\": \"object\","]
20483 #[doc = " \"required\": ["]
20484 #[doc = " \"block_id\""]
20485 #[doc = " ],"]
20486 #[doc = " \"properties\": {"]
20487 #[doc = " \"block_id\": {"]
20488 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
20489 #[doc = " }"]
20490 #[doc = " }"]
20491 #[doc = " },"]
20492 #[doc = " {"]
20493 #[doc = " \"type\": \"object\","]
20494 #[doc = " \"required\": ["]
20495 #[doc = " \"account_ids\","]
20496 #[doc = " \"changes_type\""]
20497 #[doc = " ],"]
20498 #[doc = " \"properties\": {"]
20499 #[doc = " \"account_ids\": {"]
20500 #[doc = " \"type\": \"array\","]
20501 #[doc = " \"items\": {"]
20502 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20503 #[doc = " }"]
20504 #[doc = " },"]
20505 #[doc = " \"changes_type\": {"]
20506 #[doc = " \"type\": \"string\","]
20507 #[doc = " \"enum\": ["]
20508 #[doc = " \"all_access_key_changes\""]
20509 #[doc = " ]"]
20510 #[doc = " }"]
20511 #[doc = " }"]
20512 #[doc = " }"]
20513 #[doc = " ]"]
20514 #[doc = " },"]
20515 #[doc = " {"]
20516 #[doc = " \"allOf\": ["]
20517 #[doc = " {"]
20518 #[doc = " \"type\": \"object\","]
20519 #[doc = " \"required\": ["]
20520 #[doc = " \"block_id\""]
20521 #[doc = " ],"]
20522 #[doc = " \"properties\": {"]
20523 #[doc = " \"block_id\": {"]
20524 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
20525 #[doc = " }"]
20526 #[doc = " }"]
20527 #[doc = " },"]
20528 #[doc = " {"]
20529 #[doc = " \"type\": \"object\","]
20530 #[doc = " \"required\": ["]
20531 #[doc = " \"account_ids\","]
20532 #[doc = " \"changes_type\""]
20533 #[doc = " ],"]
20534 #[doc = " \"properties\": {"]
20535 #[doc = " \"account_ids\": {"]
20536 #[doc = " \"type\": \"array\","]
20537 #[doc = " \"items\": {"]
20538 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20539 #[doc = " }"]
20540 #[doc = " },"]
20541 #[doc = " \"changes_type\": {"]
20542 #[doc = " \"type\": \"string\","]
20543 #[doc = " \"enum\": ["]
20544 #[doc = " \"contract_code_changes\""]
20545 #[doc = " ]"]
20546 #[doc = " }"]
20547 #[doc = " }"]
20548 #[doc = " }"]
20549 #[doc = " ]"]
20550 #[doc = " },"]
20551 #[doc = " {"]
20552 #[doc = " \"allOf\": ["]
20553 #[doc = " {"]
20554 #[doc = " \"type\": \"object\","]
20555 #[doc = " \"required\": ["]
20556 #[doc = " \"block_id\""]
20557 #[doc = " ],"]
20558 #[doc = " \"properties\": {"]
20559 #[doc = " \"block_id\": {"]
20560 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
20561 #[doc = " }"]
20562 #[doc = " }"]
20563 #[doc = " },"]
20564 #[doc = " {"]
20565 #[doc = " \"type\": \"object\","]
20566 #[doc = " \"required\": ["]
20567 #[doc = " \"account_ids\","]
20568 #[doc = " \"changes_type\","]
20569 #[doc = " \"key_prefix_base64\""]
20570 #[doc = " ],"]
20571 #[doc = " \"properties\": {"]
20572 #[doc = " \"account_ids\": {"]
20573 #[doc = " \"type\": \"array\","]
20574 #[doc = " \"items\": {"]
20575 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20576 #[doc = " }"]
20577 #[doc = " },"]
20578 #[doc = " \"changes_type\": {"]
20579 #[doc = " \"type\": \"string\","]
20580 #[doc = " \"enum\": ["]
20581 #[doc = " \"data_changes\""]
20582 #[doc = " ]"]
20583 #[doc = " },"]
20584 #[doc = " \"key_prefix_base64\": {"]
20585 #[doc = " \"type\": \"string\","]
20586 #[doc = " \"format\": \"bytes\""]
20587 #[doc = " }"]
20588 #[doc = " }"]
20589 #[doc = " }"]
20590 #[doc = " ]"]
20591 #[doc = " },"]
20592 #[doc = " {"]
20593 #[doc = " \"allOf\": ["]
20594 #[doc = " {"]
20595 #[doc = " \"type\": \"object\","]
20596 #[doc = " \"required\": ["]
20597 #[doc = " \"finality\""]
20598 #[doc = " ],"]
20599 #[doc = " \"properties\": {"]
20600 #[doc = " \"finality\": {"]
20601 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
20602 #[doc = " }"]
20603 #[doc = " }"]
20604 #[doc = " },"]
20605 #[doc = " {"]
20606 #[doc = " \"type\": \"object\","]
20607 #[doc = " \"required\": ["]
20608 #[doc = " \"account_ids\","]
20609 #[doc = " \"changes_type\""]
20610 #[doc = " ],"]
20611 #[doc = " \"properties\": {"]
20612 #[doc = " \"account_ids\": {"]
20613 #[doc = " \"type\": \"array\","]
20614 #[doc = " \"items\": {"]
20615 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20616 #[doc = " }"]
20617 #[doc = " },"]
20618 #[doc = " \"changes_type\": {"]
20619 #[doc = " \"type\": \"string\","]
20620 #[doc = " \"enum\": ["]
20621 #[doc = " \"account_changes\""]
20622 #[doc = " ]"]
20623 #[doc = " }"]
20624 #[doc = " }"]
20625 #[doc = " }"]
20626 #[doc = " ]"]
20627 #[doc = " },"]
20628 #[doc = " {"]
20629 #[doc = " \"allOf\": ["]
20630 #[doc = " {"]
20631 #[doc = " \"type\": \"object\","]
20632 #[doc = " \"required\": ["]
20633 #[doc = " \"finality\""]
20634 #[doc = " ],"]
20635 #[doc = " \"properties\": {"]
20636 #[doc = " \"finality\": {"]
20637 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
20638 #[doc = " }"]
20639 #[doc = " }"]
20640 #[doc = " },"]
20641 #[doc = " {"]
20642 #[doc = " \"type\": \"object\","]
20643 #[doc = " \"required\": ["]
20644 #[doc = " \"changes_type\","]
20645 #[doc = " \"keys\""]
20646 #[doc = " ],"]
20647 #[doc = " \"properties\": {"]
20648 #[doc = " \"changes_type\": {"]
20649 #[doc = " \"type\": \"string\","]
20650 #[doc = " \"enum\": ["]
20651 #[doc = " \"single_access_key_changes\""]
20652 #[doc = " ]"]
20653 #[doc = " },"]
20654 #[doc = " \"keys\": {"]
20655 #[doc = " \"type\": \"array\","]
20656 #[doc = " \"items\": {"]
20657 #[doc = " \"$ref\": \"#/components/schemas/AccountWithPublicKey\""]
20658 #[doc = " }"]
20659 #[doc = " }"]
20660 #[doc = " }"]
20661 #[doc = " }"]
20662 #[doc = " ]"]
20663 #[doc = " },"]
20664 #[doc = " {"]
20665 #[doc = " \"allOf\": ["]
20666 #[doc = " {"]
20667 #[doc = " \"type\": \"object\","]
20668 #[doc = " \"required\": ["]
20669 #[doc = " \"finality\""]
20670 #[doc = " ],"]
20671 #[doc = " \"properties\": {"]
20672 #[doc = " \"finality\": {"]
20673 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
20674 #[doc = " }"]
20675 #[doc = " }"]
20676 #[doc = " },"]
20677 #[doc = " {"]
20678 #[doc = " \"type\": \"object\","]
20679 #[doc = " \"required\": ["]
20680 #[doc = " \"account_ids\","]
20681 #[doc = " \"changes_type\""]
20682 #[doc = " ],"]
20683 #[doc = " \"properties\": {"]
20684 #[doc = " \"account_ids\": {"]
20685 #[doc = " \"type\": \"array\","]
20686 #[doc = " \"items\": {"]
20687 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20688 #[doc = " }"]
20689 #[doc = " },"]
20690 #[doc = " \"changes_type\": {"]
20691 #[doc = " \"type\": \"string\","]
20692 #[doc = " \"enum\": ["]
20693 #[doc = " \"all_access_key_changes\""]
20694 #[doc = " ]"]
20695 #[doc = " }"]
20696 #[doc = " }"]
20697 #[doc = " }"]
20698 #[doc = " ]"]
20699 #[doc = " },"]
20700 #[doc = " {"]
20701 #[doc = " \"allOf\": ["]
20702 #[doc = " {"]
20703 #[doc = " \"type\": \"object\","]
20704 #[doc = " \"required\": ["]
20705 #[doc = " \"finality\""]
20706 #[doc = " ],"]
20707 #[doc = " \"properties\": {"]
20708 #[doc = " \"finality\": {"]
20709 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
20710 #[doc = " }"]
20711 #[doc = " }"]
20712 #[doc = " },"]
20713 #[doc = " {"]
20714 #[doc = " \"type\": \"object\","]
20715 #[doc = " \"required\": ["]
20716 #[doc = " \"account_ids\","]
20717 #[doc = " \"changes_type\""]
20718 #[doc = " ],"]
20719 #[doc = " \"properties\": {"]
20720 #[doc = " \"account_ids\": {"]
20721 #[doc = " \"type\": \"array\","]
20722 #[doc = " \"items\": {"]
20723 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20724 #[doc = " }"]
20725 #[doc = " },"]
20726 #[doc = " \"changes_type\": {"]
20727 #[doc = " \"type\": \"string\","]
20728 #[doc = " \"enum\": ["]
20729 #[doc = " \"contract_code_changes\""]
20730 #[doc = " ]"]
20731 #[doc = " }"]
20732 #[doc = " }"]
20733 #[doc = " }"]
20734 #[doc = " ]"]
20735 #[doc = " },"]
20736 #[doc = " {"]
20737 #[doc = " \"allOf\": ["]
20738 #[doc = " {"]
20739 #[doc = " \"type\": \"object\","]
20740 #[doc = " \"required\": ["]
20741 #[doc = " \"finality\""]
20742 #[doc = " ],"]
20743 #[doc = " \"properties\": {"]
20744 #[doc = " \"finality\": {"]
20745 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
20746 #[doc = " }"]
20747 #[doc = " }"]
20748 #[doc = " },"]
20749 #[doc = " {"]
20750 #[doc = " \"type\": \"object\","]
20751 #[doc = " \"required\": ["]
20752 #[doc = " \"account_ids\","]
20753 #[doc = " \"changes_type\","]
20754 #[doc = " \"key_prefix_base64\""]
20755 #[doc = " ],"]
20756 #[doc = " \"properties\": {"]
20757 #[doc = " \"account_ids\": {"]
20758 #[doc = " \"type\": \"array\","]
20759 #[doc = " \"items\": {"]
20760 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20761 #[doc = " }"]
20762 #[doc = " },"]
20763 #[doc = " \"changes_type\": {"]
20764 #[doc = " \"type\": \"string\","]
20765 #[doc = " \"enum\": ["]
20766 #[doc = " \"data_changes\""]
20767 #[doc = " ]"]
20768 #[doc = " },"]
20769 #[doc = " \"key_prefix_base64\": {"]
20770 #[doc = " \"type\": \"string\","]
20771 #[doc = " \"format\": \"bytes\""]
20772 #[doc = " }"]
20773 #[doc = " }"]
20774 #[doc = " }"]
20775 #[doc = " ]"]
20776 #[doc = " },"]
20777 #[doc = " {"]
20778 #[doc = " \"allOf\": ["]
20779 #[doc = " {"]
20780 #[doc = " \"type\": \"object\","]
20781 #[doc = " \"required\": ["]
20782 #[doc = " \"sync_checkpoint\""]
20783 #[doc = " ],"]
20784 #[doc = " \"properties\": {"]
20785 #[doc = " \"sync_checkpoint\": {"]
20786 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
20787 #[doc = " }"]
20788 #[doc = " }"]
20789 #[doc = " },"]
20790 #[doc = " {"]
20791 #[doc = " \"type\": \"object\","]
20792 #[doc = " \"required\": ["]
20793 #[doc = " \"account_ids\","]
20794 #[doc = " \"changes_type\""]
20795 #[doc = " ],"]
20796 #[doc = " \"properties\": {"]
20797 #[doc = " \"account_ids\": {"]
20798 #[doc = " \"type\": \"array\","]
20799 #[doc = " \"items\": {"]
20800 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20801 #[doc = " }"]
20802 #[doc = " },"]
20803 #[doc = " \"changes_type\": {"]
20804 #[doc = " \"type\": \"string\","]
20805 #[doc = " \"enum\": ["]
20806 #[doc = " \"account_changes\""]
20807 #[doc = " ]"]
20808 #[doc = " }"]
20809 #[doc = " }"]
20810 #[doc = " }"]
20811 #[doc = " ]"]
20812 #[doc = " },"]
20813 #[doc = " {"]
20814 #[doc = " \"allOf\": ["]
20815 #[doc = " {"]
20816 #[doc = " \"type\": \"object\","]
20817 #[doc = " \"required\": ["]
20818 #[doc = " \"sync_checkpoint\""]
20819 #[doc = " ],"]
20820 #[doc = " \"properties\": {"]
20821 #[doc = " \"sync_checkpoint\": {"]
20822 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
20823 #[doc = " }"]
20824 #[doc = " }"]
20825 #[doc = " },"]
20826 #[doc = " {"]
20827 #[doc = " \"type\": \"object\","]
20828 #[doc = " \"required\": ["]
20829 #[doc = " \"changes_type\","]
20830 #[doc = " \"keys\""]
20831 #[doc = " ],"]
20832 #[doc = " \"properties\": {"]
20833 #[doc = " \"changes_type\": {"]
20834 #[doc = " \"type\": \"string\","]
20835 #[doc = " \"enum\": ["]
20836 #[doc = " \"single_access_key_changes\""]
20837 #[doc = " ]"]
20838 #[doc = " },"]
20839 #[doc = " \"keys\": {"]
20840 #[doc = " \"type\": \"array\","]
20841 #[doc = " \"items\": {"]
20842 #[doc = " \"$ref\": \"#/components/schemas/AccountWithPublicKey\""]
20843 #[doc = " }"]
20844 #[doc = " }"]
20845 #[doc = " }"]
20846 #[doc = " }"]
20847 #[doc = " ]"]
20848 #[doc = " },"]
20849 #[doc = " {"]
20850 #[doc = " \"allOf\": ["]
20851 #[doc = " {"]
20852 #[doc = " \"type\": \"object\","]
20853 #[doc = " \"required\": ["]
20854 #[doc = " \"sync_checkpoint\""]
20855 #[doc = " ],"]
20856 #[doc = " \"properties\": {"]
20857 #[doc = " \"sync_checkpoint\": {"]
20858 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
20859 #[doc = " }"]
20860 #[doc = " }"]
20861 #[doc = " },"]
20862 #[doc = " {"]
20863 #[doc = " \"type\": \"object\","]
20864 #[doc = " \"required\": ["]
20865 #[doc = " \"account_ids\","]
20866 #[doc = " \"changes_type\""]
20867 #[doc = " ],"]
20868 #[doc = " \"properties\": {"]
20869 #[doc = " \"account_ids\": {"]
20870 #[doc = " \"type\": \"array\","]
20871 #[doc = " \"items\": {"]
20872 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20873 #[doc = " }"]
20874 #[doc = " },"]
20875 #[doc = " \"changes_type\": {"]
20876 #[doc = " \"type\": \"string\","]
20877 #[doc = " \"enum\": ["]
20878 #[doc = " \"all_access_key_changes\""]
20879 #[doc = " ]"]
20880 #[doc = " }"]
20881 #[doc = " }"]
20882 #[doc = " }"]
20883 #[doc = " ]"]
20884 #[doc = " },"]
20885 #[doc = " {"]
20886 #[doc = " \"allOf\": ["]
20887 #[doc = " {"]
20888 #[doc = " \"type\": \"object\","]
20889 #[doc = " \"required\": ["]
20890 #[doc = " \"sync_checkpoint\""]
20891 #[doc = " ],"]
20892 #[doc = " \"properties\": {"]
20893 #[doc = " \"sync_checkpoint\": {"]
20894 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
20895 #[doc = " }"]
20896 #[doc = " }"]
20897 #[doc = " },"]
20898 #[doc = " {"]
20899 #[doc = " \"type\": \"object\","]
20900 #[doc = " \"required\": ["]
20901 #[doc = " \"account_ids\","]
20902 #[doc = " \"changes_type\""]
20903 #[doc = " ],"]
20904 #[doc = " \"properties\": {"]
20905 #[doc = " \"account_ids\": {"]
20906 #[doc = " \"type\": \"array\","]
20907 #[doc = " \"items\": {"]
20908 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20909 #[doc = " }"]
20910 #[doc = " },"]
20911 #[doc = " \"changes_type\": {"]
20912 #[doc = " \"type\": \"string\","]
20913 #[doc = " \"enum\": ["]
20914 #[doc = " \"contract_code_changes\""]
20915 #[doc = " ]"]
20916 #[doc = " }"]
20917 #[doc = " }"]
20918 #[doc = " }"]
20919 #[doc = " ]"]
20920 #[doc = " },"]
20921 #[doc = " {"]
20922 #[doc = " \"allOf\": ["]
20923 #[doc = " {"]
20924 #[doc = " \"type\": \"object\","]
20925 #[doc = " \"required\": ["]
20926 #[doc = " \"sync_checkpoint\""]
20927 #[doc = " ],"]
20928 #[doc = " \"properties\": {"]
20929 #[doc = " \"sync_checkpoint\": {"]
20930 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
20931 #[doc = " }"]
20932 #[doc = " }"]
20933 #[doc = " },"]
20934 #[doc = " {"]
20935 #[doc = " \"type\": \"object\","]
20936 #[doc = " \"required\": ["]
20937 #[doc = " \"account_ids\","]
20938 #[doc = " \"changes_type\","]
20939 #[doc = " \"key_prefix_base64\""]
20940 #[doc = " ],"]
20941 #[doc = " \"properties\": {"]
20942 #[doc = " \"account_ids\": {"]
20943 #[doc = " \"type\": \"array\","]
20944 #[doc = " \"items\": {"]
20945 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
20946 #[doc = " }"]
20947 #[doc = " },"]
20948 #[doc = " \"changes_type\": {"]
20949 #[doc = " \"type\": \"string\","]
20950 #[doc = " \"enum\": ["]
20951 #[doc = " \"data_changes\""]
20952 #[doc = " ]"]
20953 #[doc = " },"]
20954 #[doc = " \"key_prefix_base64\": {"]
20955 #[doc = " \"type\": \"string\","]
20956 #[doc = " \"format\": \"bytes\""]
20957 #[doc = " }"]
20958 #[doc = " }"]
20959 #[doc = " }"]
20960 #[doc = " ]"]
20961 #[doc = " }"]
20962 #[doc = " ]"]
20963 #[doc = "}"]
20964 #[doc = r" ```"]
20965 #[doc = r" </details>"]
20966 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
20967 #[serde(untagged)]
20968 pub enum RpcStateChangesInBlockByTypeRequest {
20969 Variant0 {
20970 account_ids: ::std::vec::Vec<AccountId>,
20971 block_id: BlockId,
20972 changes_type: RpcStateChangesInBlockByTypeRequestVariant0ChangesType,
20973 },
20974 Variant1 {
20975 block_id: BlockId,
20976 changes_type: RpcStateChangesInBlockByTypeRequestVariant1ChangesType,
20977 keys: ::std::vec::Vec<AccountWithPublicKey>,
20978 },
20979 Variant2 {
20980 account_ids: ::std::vec::Vec<AccountId>,
20981 block_id: BlockId,
20982 changes_type: RpcStateChangesInBlockByTypeRequestVariant2ChangesType,
20983 },
20984 Variant3 {
20985 account_ids: ::std::vec::Vec<AccountId>,
20986 block_id: BlockId,
20987 changes_type: RpcStateChangesInBlockByTypeRequestVariant3ChangesType,
20988 },
20989 Variant4 {
20990 account_ids: ::std::vec::Vec<AccountId>,
20991 block_id: BlockId,
20992 changes_type: RpcStateChangesInBlockByTypeRequestVariant4ChangesType,
20993 key_prefix_base64: ::std::string::String,
20994 },
20995 Variant5 {
20996 account_ids: ::std::vec::Vec<AccountId>,
20997 changes_type: RpcStateChangesInBlockByTypeRequestVariant5ChangesType,
20998 finality: Finality,
20999 },
21000 Variant6 {
21001 changes_type: RpcStateChangesInBlockByTypeRequestVariant6ChangesType,
21002 finality: Finality,
21003 keys: ::std::vec::Vec<AccountWithPublicKey>,
21004 },
21005 Variant7 {
21006 account_ids: ::std::vec::Vec<AccountId>,
21007 changes_type: RpcStateChangesInBlockByTypeRequestVariant7ChangesType,
21008 finality: Finality,
21009 },
21010 Variant8 {
21011 account_ids: ::std::vec::Vec<AccountId>,
21012 changes_type: RpcStateChangesInBlockByTypeRequestVariant8ChangesType,
21013 finality: Finality,
21014 },
21015 Variant9 {
21016 account_ids: ::std::vec::Vec<AccountId>,
21017 changes_type: RpcStateChangesInBlockByTypeRequestVariant9ChangesType,
21018 finality: Finality,
21019 key_prefix_base64: ::std::string::String,
21020 },
21021 Variant10 {
21022 account_ids: ::std::vec::Vec<AccountId>,
21023 changes_type: RpcStateChangesInBlockByTypeRequestVariant10ChangesType,
21024 sync_checkpoint: SyncCheckpoint,
21025 },
21026 Variant11 {
21027 changes_type: RpcStateChangesInBlockByTypeRequestVariant11ChangesType,
21028 keys: ::std::vec::Vec<AccountWithPublicKey>,
21029 sync_checkpoint: SyncCheckpoint,
21030 },
21031 Variant12 {
21032 account_ids: ::std::vec::Vec<AccountId>,
21033 changes_type: RpcStateChangesInBlockByTypeRequestVariant12ChangesType,
21034 sync_checkpoint: SyncCheckpoint,
21035 },
21036 Variant13 {
21037 account_ids: ::std::vec::Vec<AccountId>,
21038 changes_type: RpcStateChangesInBlockByTypeRequestVariant13ChangesType,
21039 sync_checkpoint: SyncCheckpoint,
21040 },
21041 Variant14 {
21042 account_ids: ::std::vec::Vec<AccountId>,
21043 changes_type: RpcStateChangesInBlockByTypeRequestVariant14ChangesType,
21044 key_prefix_base64: ::std::string::String,
21045 sync_checkpoint: SyncCheckpoint,
21046 },
21047 }
21048 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequest {
21049 fn from(value: &RpcStateChangesInBlockByTypeRequest) -> Self {
21050 value.clone()
21051 }
21052 }
21053 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant0ChangesType`"]
21054 #[doc = r""]
21055 #[doc = r" <details><summary>JSON schema</summary>"]
21056 #[doc = r""]
21057 #[doc = r" ```json"]
21058 #[doc = "{"]
21059 #[doc = " \"type\": \"string\","]
21060 #[doc = " \"enum\": ["]
21061 #[doc = " \"account_changes\""]
21062 #[doc = " ]"]
21063 #[doc = "}"]
21064 #[doc = r" ```"]
21065 #[doc = r" </details>"]
21066 #[derive(
21067 :: serde :: Deserialize,
21068 :: serde :: Serialize,
21069 Clone,
21070 Copy,
21071 Debug,
21072 Eq,
21073 Hash,
21074 Ord,
21075 PartialEq,
21076 PartialOrd,
21077 )]
21078 pub enum RpcStateChangesInBlockByTypeRequestVariant0ChangesType {
21079 #[serde(rename = "account_changes")]
21080 AccountChanges,
21081 }
21082 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant0ChangesType {
21083 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant0ChangesType) -> Self {
21084 value.clone()
21085 }
21086 }
21087 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant0ChangesType {
21088 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21089 match *self {
21090 Self::AccountChanges => write!(f, "account_changes"),
21091 }
21092 }
21093 }
21094 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant0ChangesType {
21095 type Err = self::error::ConversionError;
21096 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21097 match value {
21098 "account_changes" => Ok(Self::AccountChanges),
21099 _ => Err("invalid value".into()),
21100 }
21101 }
21102 }
21103 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant0ChangesType {
21104 type Error = self::error::ConversionError;
21105 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21106 value.parse()
21107 }
21108 }
21109 impl ::std::convert::TryFrom<&::std::string::String>
21110 for RpcStateChangesInBlockByTypeRequestVariant0ChangesType
21111 {
21112 type Error = self::error::ConversionError;
21113 fn try_from(
21114 value: &::std::string::String,
21115 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21116 value.parse()
21117 }
21118 }
21119 impl ::std::convert::TryFrom<::std::string::String>
21120 for RpcStateChangesInBlockByTypeRequestVariant0ChangesType
21121 {
21122 type Error = self::error::ConversionError;
21123 fn try_from(
21124 value: ::std::string::String,
21125 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21126 value.parse()
21127 }
21128 }
21129 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant10ChangesType`"]
21130 #[doc = r""]
21131 #[doc = r" <details><summary>JSON schema</summary>"]
21132 #[doc = r""]
21133 #[doc = r" ```json"]
21134 #[doc = "{"]
21135 #[doc = " \"type\": \"string\","]
21136 #[doc = " \"enum\": ["]
21137 #[doc = " \"account_changes\""]
21138 #[doc = " ]"]
21139 #[doc = "}"]
21140 #[doc = r" ```"]
21141 #[doc = r" </details>"]
21142 #[derive(
21143 :: serde :: Deserialize,
21144 :: serde :: Serialize,
21145 Clone,
21146 Copy,
21147 Debug,
21148 Eq,
21149 Hash,
21150 Ord,
21151 PartialEq,
21152 PartialOrd,
21153 )]
21154 pub enum RpcStateChangesInBlockByTypeRequestVariant10ChangesType {
21155 #[serde(rename = "account_changes")]
21156 AccountChanges,
21157 }
21158 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant10ChangesType {
21159 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant10ChangesType) -> Self {
21160 value.clone()
21161 }
21162 }
21163 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant10ChangesType {
21164 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21165 match *self {
21166 Self::AccountChanges => write!(f, "account_changes"),
21167 }
21168 }
21169 }
21170 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant10ChangesType {
21171 type Err = self::error::ConversionError;
21172 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21173 match value {
21174 "account_changes" => Ok(Self::AccountChanges),
21175 _ => Err("invalid value".into()),
21176 }
21177 }
21178 }
21179 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant10ChangesType {
21180 type Error = self::error::ConversionError;
21181 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21182 value.parse()
21183 }
21184 }
21185 impl ::std::convert::TryFrom<&::std::string::String>
21186 for RpcStateChangesInBlockByTypeRequestVariant10ChangesType
21187 {
21188 type Error = self::error::ConversionError;
21189 fn try_from(
21190 value: &::std::string::String,
21191 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21192 value.parse()
21193 }
21194 }
21195 impl ::std::convert::TryFrom<::std::string::String>
21196 for RpcStateChangesInBlockByTypeRequestVariant10ChangesType
21197 {
21198 type Error = self::error::ConversionError;
21199 fn try_from(
21200 value: ::std::string::String,
21201 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21202 value.parse()
21203 }
21204 }
21205 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant11ChangesType`"]
21206 #[doc = r""]
21207 #[doc = r" <details><summary>JSON schema</summary>"]
21208 #[doc = r""]
21209 #[doc = r" ```json"]
21210 #[doc = "{"]
21211 #[doc = " \"type\": \"string\","]
21212 #[doc = " \"enum\": ["]
21213 #[doc = " \"single_access_key_changes\""]
21214 #[doc = " ]"]
21215 #[doc = "}"]
21216 #[doc = r" ```"]
21217 #[doc = r" </details>"]
21218 #[derive(
21219 :: serde :: Deserialize,
21220 :: serde :: Serialize,
21221 Clone,
21222 Copy,
21223 Debug,
21224 Eq,
21225 Hash,
21226 Ord,
21227 PartialEq,
21228 PartialOrd,
21229 )]
21230 pub enum RpcStateChangesInBlockByTypeRequestVariant11ChangesType {
21231 #[serde(rename = "single_access_key_changes")]
21232 SingleAccessKeyChanges,
21233 }
21234 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant11ChangesType {
21235 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant11ChangesType) -> Self {
21236 value.clone()
21237 }
21238 }
21239 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant11ChangesType {
21240 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21241 match *self {
21242 Self::SingleAccessKeyChanges => write!(f, "single_access_key_changes"),
21243 }
21244 }
21245 }
21246 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant11ChangesType {
21247 type Err = self::error::ConversionError;
21248 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21249 match value {
21250 "single_access_key_changes" => Ok(Self::SingleAccessKeyChanges),
21251 _ => Err("invalid value".into()),
21252 }
21253 }
21254 }
21255 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant11ChangesType {
21256 type Error = self::error::ConversionError;
21257 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21258 value.parse()
21259 }
21260 }
21261 impl ::std::convert::TryFrom<&::std::string::String>
21262 for RpcStateChangesInBlockByTypeRequestVariant11ChangesType
21263 {
21264 type Error = self::error::ConversionError;
21265 fn try_from(
21266 value: &::std::string::String,
21267 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21268 value.parse()
21269 }
21270 }
21271 impl ::std::convert::TryFrom<::std::string::String>
21272 for RpcStateChangesInBlockByTypeRequestVariant11ChangesType
21273 {
21274 type Error = self::error::ConversionError;
21275 fn try_from(
21276 value: ::std::string::String,
21277 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21278 value.parse()
21279 }
21280 }
21281 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant12ChangesType`"]
21282 #[doc = r""]
21283 #[doc = r" <details><summary>JSON schema</summary>"]
21284 #[doc = r""]
21285 #[doc = r" ```json"]
21286 #[doc = "{"]
21287 #[doc = " \"type\": \"string\","]
21288 #[doc = " \"enum\": ["]
21289 #[doc = " \"all_access_key_changes\""]
21290 #[doc = " ]"]
21291 #[doc = "}"]
21292 #[doc = r" ```"]
21293 #[doc = r" </details>"]
21294 #[derive(
21295 :: serde :: Deserialize,
21296 :: serde :: Serialize,
21297 Clone,
21298 Copy,
21299 Debug,
21300 Eq,
21301 Hash,
21302 Ord,
21303 PartialEq,
21304 PartialOrd,
21305 )]
21306 pub enum RpcStateChangesInBlockByTypeRequestVariant12ChangesType {
21307 #[serde(rename = "all_access_key_changes")]
21308 AllAccessKeyChanges,
21309 }
21310 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant12ChangesType {
21311 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant12ChangesType) -> Self {
21312 value.clone()
21313 }
21314 }
21315 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant12ChangesType {
21316 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21317 match *self {
21318 Self::AllAccessKeyChanges => write!(f, "all_access_key_changes"),
21319 }
21320 }
21321 }
21322 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant12ChangesType {
21323 type Err = self::error::ConversionError;
21324 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21325 match value {
21326 "all_access_key_changes" => Ok(Self::AllAccessKeyChanges),
21327 _ => Err("invalid value".into()),
21328 }
21329 }
21330 }
21331 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant12ChangesType {
21332 type Error = self::error::ConversionError;
21333 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21334 value.parse()
21335 }
21336 }
21337 impl ::std::convert::TryFrom<&::std::string::String>
21338 for RpcStateChangesInBlockByTypeRequestVariant12ChangesType
21339 {
21340 type Error = self::error::ConversionError;
21341 fn try_from(
21342 value: &::std::string::String,
21343 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21344 value.parse()
21345 }
21346 }
21347 impl ::std::convert::TryFrom<::std::string::String>
21348 for RpcStateChangesInBlockByTypeRequestVariant12ChangesType
21349 {
21350 type Error = self::error::ConversionError;
21351 fn try_from(
21352 value: ::std::string::String,
21353 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21354 value.parse()
21355 }
21356 }
21357 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant13ChangesType`"]
21358 #[doc = r""]
21359 #[doc = r" <details><summary>JSON schema</summary>"]
21360 #[doc = r""]
21361 #[doc = r" ```json"]
21362 #[doc = "{"]
21363 #[doc = " \"type\": \"string\","]
21364 #[doc = " \"enum\": ["]
21365 #[doc = " \"contract_code_changes\""]
21366 #[doc = " ]"]
21367 #[doc = "}"]
21368 #[doc = r" ```"]
21369 #[doc = r" </details>"]
21370 #[derive(
21371 :: serde :: Deserialize,
21372 :: serde :: Serialize,
21373 Clone,
21374 Copy,
21375 Debug,
21376 Eq,
21377 Hash,
21378 Ord,
21379 PartialEq,
21380 PartialOrd,
21381 )]
21382 pub enum RpcStateChangesInBlockByTypeRequestVariant13ChangesType {
21383 #[serde(rename = "contract_code_changes")]
21384 ContractCodeChanges,
21385 }
21386 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant13ChangesType {
21387 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant13ChangesType) -> Self {
21388 value.clone()
21389 }
21390 }
21391 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant13ChangesType {
21392 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21393 match *self {
21394 Self::ContractCodeChanges => write!(f, "contract_code_changes"),
21395 }
21396 }
21397 }
21398 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant13ChangesType {
21399 type Err = self::error::ConversionError;
21400 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21401 match value {
21402 "contract_code_changes" => Ok(Self::ContractCodeChanges),
21403 _ => Err("invalid value".into()),
21404 }
21405 }
21406 }
21407 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant13ChangesType {
21408 type Error = self::error::ConversionError;
21409 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21410 value.parse()
21411 }
21412 }
21413 impl ::std::convert::TryFrom<&::std::string::String>
21414 for RpcStateChangesInBlockByTypeRequestVariant13ChangesType
21415 {
21416 type Error = self::error::ConversionError;
21417 fn try_from(
21418 value: &::std::string::String,
21419 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21420 value.parse()
21421 }
21422 }
21423 impl ::std::convert::TryFrom<::std::string::String>
21424 for RpcStateChangesInBlockByTypeRequestVariant13ChangesType
21425 {
21426 type Error = self::error::ConversionError;
21427 fn try_from(
21428 value: ::std::string::String,
21429 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21430 value.parse()
21431 }
21432 }
21433 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant14ChangesType`"]
21434 #[doc = r""]
21435 #[doc = r" <details><summary>JSON schema</summary>"]
21436 #[doc = r""]
21437 #[doc = r" ```json"]
21438 #[doc = "{"]
21439 #[doc = " \"type\": \"string\","]
21440 #[doc = " \"enum\": ["]
21441 #[doc = " \"data_changes\""]
21442 #[doc = " ]"]
21443 #[doc = "}"]
21444 #[doc = r" ```"]
21445 #[doc = r" </details>"]
21446 #[derive(
21447 :: serde :: Deserialize,
21448 :: serde :: Serialize,
21449 Clone,
21450 Copy,
21451 Debug,
21452 Eq,
21453 Hash,
21454 Ord,
21455 PartialEq,
21456 PartialOrd,
21457 )]
21458 pub enum RpcStateChangesInBlockByTypeRequestVariant14ChangesType {
21459 #[serde(rename = "data_changes")]
21460 DataChanges,
21461 }
21462 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant14ChangesType {
21463 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant14ChangesType) -> Self {
21464 value.clone()
21465 }
21466 }
21467 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant14ChangesType {
21468 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21469 match *self {
21470 Self::DataChanges => write!(f, "data_changes"),
21471 }
21472 }
21473 }
21474 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant14ChangesType {
21475 type Err = self::error::ConversionError;
21476 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21477 match value {
21478 "data_changes" => Ok(Self::DataChanges),
21479 _ => Err("invalid value".into()),
21480 }
21481 }
21482 }
21483 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant14ChangesType {
21484 type Error = self::error::ConversionError;
21485 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21486 value.parse()
21487 }
21488 }
21489 impl ::std::convert::TryFrom<&::std::string::String>
21490 for RpcStateChangesInBlockByTypeRequestVariant14ChangesType
21491 {
21492 type Error = self::error::ConversionError;
21493 fn try_from(
21494 value: &::std::string::String,
21495 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21496 value.parse()
21497 }
21498 }
21499 impl ::std::convert::TryFrom<::std::string::String>
21500 for RpcStateChangesInBlockByTypeRequestVariant14ChangesType
21501 {
21502 type Error = self::error::ConversionError;
21503 fn try_from(
21504 value: ::std::string::String,
21505 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21506 value.parse()
21507 }
21508 }
21509 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant1ChangesType`"]
21510 #[doc = r""]
21511 #[doc = r" <details><summary>JSON schema</summary>"]
21512 #[doc = r""]
21513 #[doc = r" ```json"]
21514 #[doc = "{"]
21515 #[doc = " \"type\": \"string\","]
21516 #[doc = " \"enum\": ["]
21517 #[doc = " \"single_access_key_changes\""]
21518 #[doc = " ]"]
21519 #[doc = "}"]
21520 #[doc = r" ```"]
21521 #[doc = r" </details>"]
21522 #[derive(
21523 :: serde :: Deserialize,
21524 :: serde :: Serialize,
21525 Clone,
21526 Copy,
21527 Debug,
21528 Eq,
21529 Hash,
21530 Ord,
21531 PartialEq,
21532 PartialOrd,
21533 )]
21534 pub enum RpcStateChangesInBlockByTypeRequestVariant1ChangesType {
21535 #[serde(rename = "single_access_key_changes")]
21536 SingleAccessKeyChanges,
21537 }
21538 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant1ChangesType {
21539 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant1ChangesType) -> Self {
21540 value.clone()
21541 }
21542 }
21543 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant1ChangesType {
21544 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21545 match *self {
21546 Self::SingleAccessKeyChanges => write!(f, "single_access_key_changes"),
21547 }
21548 }
21549 }
21550 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant1ChangesType {
21551 type Err = self::error::ConversionError;
21552 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21553 match value {
21554 "single_access_key_changes" => Ok(Self::SingleAccessKeyChanges),
21555 _ => Err("invalid value".into()),
21556 }
21557 }
21558 }
21559 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant1ChangesType {
21560 type Error = self::error::ConversionError;
21561 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21562 value.parse()
21563 }
21564 }
21565 impl ::std::convert::TryFrom<&::std::string::String>
21566 for RpcStateChangesInBlockByTypeRequestVariant1ChangesType
21567 {
21568 type Error = self::error::ConversionError;
21569 fn try_from(
21570 value: &::std::string::String,
21571 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21572 value.parse()
21573 }
21574 }
21575 impl ::std::convert::TryFrom<::std::string::String>
21576 for RpcStateChangesInBlockByTypeRequestVariant1ChangesType
21577 {
21578 type Error = self::error::ConversionError;
21579 fn try_from(
21580 value: ::std::string::String,
21581 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21582 value.parse()
21583 }
21584 }
21585 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant2ChangesType`"]
21586 #[doc = r""]
21587 #[doc = r" <details><summary>JSON schema</summary>"]
21588 #[doc = r""]
21589 #[doc = r" ```json"]
21590 #[doc = "{"]
21591 #[doc = " \"type\": \"string\","]
21592 #[doc = " \"enum\": ["]
21593 #[doc = " \"all_access_key_changes\""]
21594 #[doc = " ]"]
21595 #[doc = "}"]
21596 #[doc = r" ```"]
21597 #[doc = r" </details>"]
21598 #[derive(
21599 :: serde :: Deserialize,
21600 :: serde :: Serialize,
21601 Clone,
21602 Copy,
21603 Debug,
21604 Eq,
21605 Hash,
21606 Ord,
21607 PartialEq,
21608 PartialOrd,
21609 )]
21610 pub enum RpcStateChangesInBlockByTypeRequestVariant2ChangesType {
21611 #[serde(rename = "all_access_key_changes")]
21612 AllAccessKeyChanges,
21613 }
21614 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant2ChangesType {
21615 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant2ChangesType) -> Self {
21616 value.clone()
21617 }
21618 }
21619 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant2ChangesType {
21620 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21621 match *self {
21622 Self::AllAccessKeyChanges => write!(f, "all_access_key_changes"),
21623 }
21624 }
21625 }
21626 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant2ChangesType {
21627 type Err = self::error::ConversionError;
21628 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21629 match value {
21630 "all_access_key_changes" => Ok(Self::AllAccessKeyChanges),
21631 _ => Err("invalid value".into()),
21632 }
21633 }
21634 }
21635 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant2ChangesType {
21636 type Error = self::error::ConversionError;
21637 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21638 value.parse()
21639 }
21640 }
21641 impl ::std::convert::TryFrom<&::std::string::String>
21642 for RpcStateChangesInBlockByTypeRequestVariant2ChangesType
21643 {
21644 type Error = self::error::ConversionError;
21645 fn try_from(
21646 value: &::std::string::String,
21647 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21648 value.parse()
21649 }
21650 }
21651 impl ::std::convert::TryFrom<::std::string::String>
21652 for RpcStateChangesInBlockByTypeRequestVariant2ChangesType
21653 {
21654 type Error = self::error::ConversionError;
21655 fn try_from(
21656 value: ::std::string::String,
21657 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21658 value.parse()
21659 }
21660 }
21661 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant3ChangesType`"]
21662 #[doc = r""]
21663 #[doc = r" <details><summary>JSON schema</summary>"]
21664 #[doc = r""]
21665 #[doc = r" ```json"]
21666 #[doc = "{"]
21667 #[doc = " \"type\": \"string\","]
21668 #[doc = " \"enum\": ["]
21669 #[doc = " \"contract_code_changes\""]
21670 #[doc = " ]"]
21671 #[doc = "}"]
21672 #[doc = r" ```"]
21673 #[doc = r" </details>"]
21674 #[derive(
21675 :: serde :: Deserialize,
21676 :: serde :: Serialize,
21677 Clone,
21678 Copy,
21679 Debug,
21680 Eq,
21681 Hash,
21682 Ord,
21683 PartialEq,
21684 PartialOrd,
21685 )]
21686 pub enum RpcStateChangesInBlockByTypeRequestVariant3ChangesType {
21687 #[serde(rename = "contract_code_changes")]
21688 ContractCodeChanges,
21689 }
21690 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant3ChangesType {
21691 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant3ChangesType) -> Self {
21692 value.clone()
21693 }
21694 }
21695 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant3ChangesType {
21696 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21697 match *self {
21698 Self::ContractCodeChanges => write!(f, "contract_code_changes"),
21699 }
21700 }
21701 }
21702 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant3ChangesType {
21703 type Err = self::error::ConversionError;
21704 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21705 match value {
21706 "contract_code_changes" => Ok(Self::ContractCodeChanges),
21707 _ => Err("invalid value".into()),
21708 }
21709 }
21710 }
21711 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant3ChangesType {
21712 type Error = self::error::ConversionError;
21713 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21714 value.parse()
21715 }
21716 }
21717 impl ::std::convert::TryFrom<&::std::string::String>
21718 for RpcStateChangesInBlockByTypeRequestVariant3ChangesType
21719 {
21720 type Error = self::error::ConversionError;
21721 fn try_from(
21722 value: &::std::string::String,
21723 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21724 value.parse()
21725 }
21726 }
21727 impl ::std::convert::TryFrom<::std::string::String>
21728 for RpcStateChangesInBlockByTypeRequestVariant3ChangesType
21729 {
21730 type Error = self::error::ConversionError;
21731 fn try_from(
21732 value: ::std::string::String,
21733 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21734 value.parse()
21735 }
21736 }
21737 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant4ChangesType`"]
21738 #[doc = r""]
21739 #[doc = r" <details><summary>JSON schema</summary>"]
21740 #[doc = r""]
21741 #[doc = r" ```json"]
21742 #[doc = "{"]
21743 #[doc = " \"type\": \"string\","]
21744 #[doc = " \"enum\": ["]
21745 #[doc = " \"data_changes\""]
21746 #[doc = " ]"]
21747 #[doc = "}"]
21748 #[doc = r" ```"]
21749 #[doc = r" </details>"]
21750 #[derive(
21751 :: serde :: Deserialize,
21752 :: serde :: Serialize,
21753 Clone,
21754 Copy,
21755 Debug,
21756 Eq,
21757 Hash,
21758 Ord,
21759 PartialEq,
21760 PartialOrd,
21761 )]
21762 pub enum RpcStateChangesInBlockByTypeRequestVariant4ChangesType {
21763 #[serde(rename = "data_changes")]
21764 DataChanges,
21765 }
21766 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant4ChangesType {
21767 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant4ChangesType) -> Self {
21768 value.clone()
21769 }
21770 }
21771 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant4ChangesType {
21772 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21773 match *self {
21774 Self::DataChanges => write!(f, "data_changes"),
21775 }
21776 }
21777 }
21778 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant4ChangesType {
21779 type Err = self::error::ConversionError;
21780 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21781 match value {
21782 "data_changes" => Ok(Self::DataChanges),
21783 _ => Err("invalid value".into()),
21784 }
21785 }
21786 }
21787 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant4ChangesType {
21788 type Error = self::error::ConversionError;
21789 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21790 value.parse()
21791 }
21792 }
21793 impl ::std::convert::TryFrom<&::std::string::String>
21794 for RpcStateChangesInBlockByTypeRequestVariant4ChangesType
21795 {
21796 type Error = self::error::ConversionError;
21797 fn try_from(
21798 value: &::std::string::String,
21799 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21800 value.parse()
21801 }
21802 }
21803 impl ::std::convert::TryFrom<::std::string::String>
21804 for RpcStateChangesInBlockByTypeRequestVariant4ChangesType
21805 {
21806 type Error = self::error::ConversionError;
21807 fn try_from(
21808 value: ::std::string::String,
21809 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21810 value.parse()
21811 }
21812 }
21813 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant5ChangesType`"]
21814 #[doc = r""]
21815 #[doc = r" <details><summary>JSON schema</summary>"]
21816 #[doc = r""]
21817 #[doc = r" ```json"]
21818 #[doc = "{"]
21819 #[doc = " \"type\": \"string\","]
21820 #[doc = " \"enum\": ["]
21821 #[doc = " \"account_changes\""]
21822 #[doc = " ]"]
21823 #[doc = "}"]
21824 #[doc = r" ```"]
21825 #[doc = r" </details>"]
21826 #[derive(
21827 :: serde :: Deserialize,
21828 :: serde :: Serialize,
21829 Clone,
21830 Copy,
21831 Debug,
21832 Eq,
21833 Hash,
21834 Ord,
21835 PartialEq,
21836 PartialOrd,
21837 )]
21838 pub enum RpcStateChangesInBlockByTypeRequestVariant5ChangesType {
21839 #[serde(rename = "account_changes")]
21840 AccountChanges,
21841 }
21842 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant5ChangesType {
21843 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant5ChangesType) -> Self {
21844 value.clone()
21845 }
21846 }
21847 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant5ChangesType {
21848 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21849 match *self {
21850 Self::AccountChanges => write!(f, "account_changes"),
21851 }
21852 }
21853 }
21854 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant5ChangesType {
21855 type Err = self::error::ConversionError;
21856 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21857 match value {
21858 "account_changes" => Ok(Self::AccountChanges),
21859 _ => Err("invalid value".into()),
21860 }
21861 }
21862 }
21863 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant5ChangesType {
21864 type Error = self::error::ConversionError;
21865 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21866 value.parse()
21867 }
21868 }
21869 impl ::std::convert::TryFrom<&::std::string::String>
21870 for RpcStateChangesInBlockByTypeRequestVariant5ChangesType
21871 {
21872 type Error = self::error::ConversionError;
21873 fn try_from(
21874 value: &::std::string::String,
21875 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21876 value.parse()
21877 }
21878 }
21879 impl ::std::convert::TryFrom<::std::string::String>
21880 for RpcStateChangesInBlockByTypeRequestVariant5ChangesType
21881 {
21882 type Error = self::error::ConversionError;
21883 fn try_from(
21884 value: ::std::string::String,
21885 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21886 value.parse()
21887 }
21888 }
21889 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant6ChangesType`"]
21890 #[doc = r""]
21891 #[doc = r" <details><summary>JSON schema</summary>"]
21892 #[doc = r""]
21893 #[doc = r" ```json"]
21894 #[doc = "{"]
21895 #[doc = " \"type\": \"string\","]
21896 #[doc = " \"enum\": ["]
21897 #[doc = " \"single_access_key_changes\""]
21898 #[doc = " ]"]
21899 #[doc = "}"]
21900 #[doc = r" ```"]
21901 #[doc = r" </details>"]
21902 #[derive(
21903 :: serde :: Deserialize,
21904 :: serde :: Serialize,
21905 Clone,
21906 Copy,
21907 Debug,
21908 Eq,
21909 Hash,
21910 Ord,
21911 PartialEq,
21912 PartialOrd,
21913 )]
21914 pub enum RpcStateChangesInBlockByTypeRequestVariant6ChangesType {
21915 #[serde(rename = "single_access_key_changes")]
21916 SingleAccessKeyChanges,
21917 }
21918 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant6ChangesType {
21919 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant6ChangesType) -> Self {
21920 value.clone()
21921 }
21922 }
21923 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant6ChangesType {
21924 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21925 match *self {
21926 Self::SingleAccessKeyChanges => write!(f, "single_access_key_changes"),
21927 }
21928 }
21929 }
21930 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant6ChangesType {
21931 type Err = self::error::ConversionError;
21932 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21933 match value {
21934 "single_access_key_changes" => Ok(Self::SingleAccessKeyChanges),
21935 _ => Err("invalid value".into()),
21936 }
21937 }
21938 }
21939 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant6ChangesType {
21940 type Error = self::error::ConversionError;
21941 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
21942 value.parse()
21943 }
21944 }
21945 impl ::std::convert::TryFrom<&::std::string::String>
21946 for RpcStateChangesInBlockByTypeRequestVariant6ChangesType
21947 {
21948 type Error = self::error::ConversionError;
21949 fn try_from(
21950 value: &::std::string::String,
21951 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21952 value.parse()
21953 }
21954 }
21955 impl ::std::convert::TryFrom<::std::string::String>
21956 for RpcStateChangesInBlockByTypeRequestVariant6ChangesType
21957 {
21958 type Error = self::error::ConversionError;
21959 fn try_from(
21960 value: ::std::string::String,
21961 ) -> ::std::result::Result<Self, self::error::ConversionError> {
21962 value.parse()
21963 }
21964 }
21965 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant7ChangesType`"]
21966 #[doc = r""]
21967 #[doc = r" <details><summary>JSON schema</summary>"]
21968 #[doc = r""]
21969 #[doc = r" ```json"]
21970 #[doc = "{"]
21971 #[doc = " \"type\": \"string\","]
21972 #[doc = " \"enum\": ["]
21973 #[doc = " \"all_access_key_changes\""]
21974 #[doc = " ]"]
21975 #[doc = "}"]
21976 #[doc = r" ```"]
21977 #[doc = r" </details>"]
21978 #[derive(
21979 :: serde :: Deserialize,
21980 :: serde :: Serialize,
21981 Clone,
21982 Copy,
21983 Debug,
21984 Eq,
21985 Hash,
21986 Ord,
21987 PartialEq,
21988 PartialOrd,
21989 )]
21990 pub enum RpcStateChangesInBlockByTypeRequestVariant7ChangesType {
21991 #[serde(rename = "all_access_key_changes")]
21992 AllAccessKeyChanges,
21993 }
21994 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant7ChangesType {
21995 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant7ChangesType) -> Self {
21996 value.clone()
21997 }
21998 }
21999 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant7ChangesType {
22000 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22001 match *self {
22002 Self::AllAccessKeyChanges => write!(f, "all_access_key_changes"),
22003 }
22004 }
22005 }
22006 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant7ChangesType {
22007 type Err = self::error::ConversionError;
22008 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
22009 match value {
22010 "all_access_key_changes" => Ok(Self::AllAccessKeyChanges),
22011 _ => Err("invalid value".into()),
22012 }
22013 }
22014 }
22015 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant7ChangesType {
22016 type Error = self::error::ConversionError;
22017 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
22018 value.parse()
22019 }
22020 }
22021 impl ::std::convert::TryFrom<&::std::string::String>
22022 for RpcStateChangesInBlockByTypeRequestVariant7ChangesType
22023 {
22024 type Error = self::error::ConversionError;
22025 fn try_from(
22026 value: &::std::string::String,
22027 ) -> ::std::result::Result<Self, self::error::ConversionError> {
22028 value.parse()
22029 }
22030 }
22031 impl ::std::convert::TryFrom<::std::string::String>
22032 for RpcStateChangesInBlockByTypeRequestVariant7ChangesType
22033 {
22034 type Error = self::error::ConversionError;
22035 fn try_from(
22036 value: ::std::string::String,
22037 ) -> ::std::result::Result<Self, self::error::ConversionError> {
22038 value.parse()
22039 }
22040 }
22041 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant8ChangesType`"]
22042 #[doc = r""]
22043 #[doc = r" <details><summary>JSON schema</summary>"]
22044 #[doc = r""]
22045 #[doc = r" ```json"]
22046 #[doc = "{"]
22047 #[doc = " \"type\": \"string\","]
22048 #[doc = " \"enum\": ["]
22049 #[doc = " \"contract_code_changes\""]
22050 #[doc = " ]"]
22051 #[doc = "}"]
22052 #[doc = r" ```"]
22053 #[doc = r" </details>"]
22054 #[derive(
22055 :: serde :: Deserialize,
22056 :: serde :: Serialize,
22057 Clone,
22058 Copy,
22059 Debug,
22060 Eq,
22061 Hash,
22062 Ord,
22063 PartialEq,
22064 PartialOrd,
22065 )]
22066 pub enum RpcStateChangesInBlockByTypeRequestVariant8ChangesType {
22067 #[serde(rename = "contract_code_changes")]
22068 ContractCodeChanges,
22069 }
22070 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant8ChangesType {
22071 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant8ChangesType) -> Self {
22072 value.clone()
22073 }
22074 }
22075 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant8ChangesType {
22076 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22077 match *self {
22078 Self::ContractCodeChanges => write!(f, "contract_code_changes"),
22079 }
22080 }
22081 }
22082 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant8ChangesType {
22083 type Err = self::error::ConversionError;
22084 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
22085 match value {
22086 "contract_code_changes" => Ok(Self::ContractCodeChanges),
22087 _ => Err("invalid value".into()),
22088 }
22089 }
22090 }
22091 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant8ChangesType {
22092 type Error = self::error::ConversionError;
22093 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
22094 value.parse()
22095 }
22096 }
22097 impl ::std::convert::TryFrom<&::std::string::String>
22098 for RpcStateChangesInBlockByTypeRequestVariant8ChangesType
22099 {
22100 type Error = self::error::ConversionError;
22101 fn try_from(
22102 value: &::std::string::String,
22103 ) -> ::std::result::Result<Self, self::error::ConversionError> {
22104 value.parse()
22105 }
22106 }
22107 impl ::std::convert::TryFrom<::std::string::String>
22108 for RpcStateChangesInBlockByTypeRequestVariant8ChangesType
22109 {
22110 type Error = self::error::ConversionError;
22111 fn try_from(
22112 value: ::std::string::String,
22113 ) -> ::std::result::Result<Self, self::error::ConversionError> {
22114 value.parse()
22115 }
22116 }
22117 #[doc = "`RpcStateChangesInBlockByTypeRequestVariant9ChangesType`"]
22118 #[doc = r""]
22119 #[doc = r" <details><summary>JSON schema</summary>"]
22120 #[doc = r""]
22121 #[doc = r" ```json"]
22122 #[doc = "{"]
22123 #[doc = " \"type\": \"string\","]
22124 #[doc = " \"enum\": ["]
22125 #[doc = " \"data_changes\""]
22126 #[doc = " ]"]
22127 #[doc = "}"]
22128 #[doc = r" ```"]
22129 #[doc = r" </details>"]
22130 #[derive(
22131 :: serde :: Deserialize,
22132 :: serde :: Serialize,
22133 Clone,
22134 Copy,
22135 Debug,
22136 Eq,
22137 Hash,
22138 Ord,
22139 PartialEq,
22140 PartialOrd,
22141 )]
22142 pub enum RpcStateChangesInBlockByTypeRequestVariant9ChangesType {
22143 #[serde(rename = "data_changes")]
22144 DataChanges,
22145 }
22146 impl ::std::convert::From<&Self> for RpcStateChangesInBlockByTypeRequestVariant9ChangesType {
22147 fn from(value: &RpcStateChangesInBlockByTypeRequestVariant9ChangesType) -> Self {
22148 value.clone()
22149 }
22150 }
22151 impl ::std::fmt::Display for RpcStateChangesInBlockByTypeRequestVariant9ChangesType {
22152 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22153 match *self {
22154 Self::DataChanges => write!(f, "data_changes"),
22155 }
22156 }
22157 }
22158 impl ::std::str::FromStr for RpcStateChangesInBlockByTypeRequestVariant9ChangesType {
22159 type Err = self::error::ConversionError;
22160 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
22161 match value {
22162 "data_changes" => Ok(Self::DataChanges),
22163 _ => Err("invalid value".into()),
22164 }
22165 }
22166 }
22167 impl ::std::convert::TryFrom<&str> for RpcStateChangesInBlockByTypeRequestVariant9ChangesType {
22168 type Error = self::error::ConversionError;
22169 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
22170 value.parse()
22171 }
22172 }
22173 impl ::std::convert::TryFrom<&::std::string::String>
22174 for RpcStateChangesInBlockByTypeRequestVariant9ChangesType
22175 {
22176 type Error = self::error::ConversionError;
22177 fn try_from(
22178 value: &::std::string::String,
22179 ) -> ::std::result::Result<Self, self::error::ConversionError> {
22180 value.parse()
22181 }
22182 }
22183 impl ::std::convert::TryFrom<::std::string::String>
22184 for RpcStateChangesInBlockByTypeRequestVariant9ChangesType
22185 {
22186 type Error = self::error::ConversionError;
22187 fn try_from(
22188 value: ::std::string::String,
22189 ) -> ::std::result::Result<Self, self::error::ConversionError> {
22190 value.parse()
22191 }
22192 }
22193 #[doc = "`RpcStateChangesInBlockByTypeResponse`"]
22194 #[doc = r""]
22195 #[doc = r" <details><summary>JSON schema</summary>"]
22196 #[doc = r""]
22197 #[doc = r" ```json"]
22198 #[doc = "{"]
22199 #[doc = " \"type\": \"object\","]
22200 #[doc = " \"required\": ["]
22201 #[doc = " \"block_hash\","]
22202 #[doc = " \"changes\""]
22203 #[doc = " ],"]
22204 #[doc = " \"properties\": {"]
22205 #[doc = " \"block_hash\": {"]
22206 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
22207 #[doc = " },"]
22208 #[doc = " \"changes\": {"]
22209 #[doc = " \"type\": \"array\","]
22210 #[doc = " \"items\": {"]
22211 #[doc = " \"$ref\": \"#/components/schemas/StateChangeKindView\""]
22212 #[doc = " }"]
22213 #[doc = " }"]
22214 #[doc = " }"]
22215 #[doc = "}"]
22216 #[doc = r" ```"]
22217 #[doc = r" </details>"]
22218 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22219 pub struct RpcStateChangesInBlockByTypeResponse {
22220 pub block_hash: CryptoHash,
22221 pub changes: ::std::vec::Vec<StateChangeKindView>,
22222 }
22223 impl ::std::convert::From<&RpcStateChangesInBlockByTypeResponse>
22224 for RpcStateChangesInBlockByTypeResponse
22225 {
22226 fn from(value: &RpcStateChangesInBlockByTypeResponse) -> Self {
22227 value.clone()
22228 }
22229 }
22230 #[doc = "`RpcStateChangesInBlockRequest`"]
22231 #[doc = r""]
22232 #[doc = r" <details><summary>JSON schema</summary>"]
22233 #[doc = r""]
22234 #[doc = r" ```json"]
22235 #[doc = "{"]
22236 #[doc = " \"title\": \"RpcStateChangesInBlockRequest\","]
22237 #[doc = " \"type\": \"object\","]
22238 #[doc = " \"oneOf\": ["]
22239 #[doc = " {"]
22240 #[doc = " \"type\": \"object\","]
22241 #[doc = " \"required\": ["]
22242 #[doc = " \"block_id\""]
22243 #[doc = " ],"]
22244 #[doc = " \"properties\": {"]
22245 #[doc = " \"block_id\": {"]
22246 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
22247 #[doc = " }"]
22248 #[doc = " }"]
22249 #[doc = " },"]
22250 #[doc = " {"]
22251 #[doc = " \"type\": \"object\","]
22252 #[doc = " \"required\": ["]
22253 #[doc = " \"finality\""]
22254 #[doc = " ],"]
22255 #[doc = " \"properties\": {"]
22256 #[doc = " \"finality\": {"]
22257 #[doc = " \"$ref\": \"#/components/schemas/Finality\""]
22258 #[doc = " }"]
22259 #[doc = " }"]
22260 #[doc = " },"]
22261 #[doc = " {"]
22262 #[doc = " \"type\": \"object\","]
22263 #[doc = " \"required\": ["]
22264 #[doc = " \"sync_checkpoint\""]
22265 #[doc = " ],"]
22266 #[doc = " \"properties\": {"]
22267 #[doc = " \"sync_checkpoint\": {"]
22268 #[doc = " \"$ref\": \"#/components/schemas/SyncCheckpoint\""]
22269 #[doc = " }"]
22270 #[doc = " }"]
22271 #[doc = " }"]
22272 #[doc = " ]"]
22273 #[doc = "}"]
22274 #[doc = r" ```"]
22275 #[doc = r" </details>"]
22276 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22277 pub enum RpcStateChangesInBlockRequest {
22278 #[serde(rename = "block_id")]
22279 BlockId(BlockId),
22280 #[serde(rename = "finality")]
22281 Finality(Finality),
22282 #[serde(rename = "sync_checkpoint")]
22283 SyncCheckpoint(SyncCheckpoint),
22284 }
22285 impl ::std::convert::From<&Self> for RpcStateChangesInBlockRequest {
22286 fn from(value: &RpcStateChangesInBlockRequest) -> Self {
22287 value.clone()
22288 }
22289 }
22290 impl ::std::convert::From<BlockId> for RpcStateChangesInBlockRequest {
22291 fn from(value: BlockId) -> Self {
22292 Self::BlockId(value)
22293 }
22294 }
22295 impl ::std::convert::From<Finality> for RpcStateChangesInBlockRequest {
22296 fn from(value: Finality) -> Self {
22297 Self::Finality(value)
22298 }
22299 }
22300 impl ::std::convert::From<SyncCheckpoint> for RpcStateChangesInBlockRequest {
22301 fn from(value: SyncCheckpoint) -> Self {
22302 Self::SyncCheckpoint(value)
22303 }
22304 }
22305 #[doc = "`RpcStateChangesInBlockResponse`"]
22306 #[doc = r""]
22307 #[doc = r" <details><summary>JSON schema</summary>"]
22308 #[doc = r""]
22309 #[doc = r" ```json"]
22310 #[doc = "{"]
22311 #[doc = " \"type\": \"object\","]
22312 #[doc = " \"required\": ["]
22313 #[doc = " \"block_hash\","]
22314 #[doc = " \"changes\""]
22315 #[doc = " ],"]
22316 #[doc = " \"properties\": {"]
22317 #[doc = " \"block_hash\": {"]
22318 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
22319 #[doc = " },"]
22320 #[doc = " \"changes\": {"]
22321 #[doc = " \"type\": \"array\","]
22322 #[doc = " \"items\": {"]
22323 #[doc = " \"$ref\": \"#/components/schemas/StateChangeWithCauseView\""]
22324 #[doc = " }"]
22325 #[doc = " }"]
22326 #[doc = " }"]
22327 #[doc = "}"]
22328 #[doc = r" ```"]
22329 #[doc = r" </details>"]
22330 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22331 pub struct RpcStateChangesInBlockResponse {
22332 pub block_hash: CryptoHash,
22333 pub changes: ::std::vec::Vec<StateChangeWithCauseView>,
22334 }
22335 impl ::std::convert::From<&RpcStateChangesInBlockResponse> for RpcStateChangesInBlockResponse {
22336 fn from(value: &RpcStateChangesInBlockResponse) -> Self {
22337 value.clone()
22338 }
22339 }
22340 #[doc = "`RpcStatusRequest`"]
22341 #[doc = r""]
22342 #[doc = r" <details><summary>JSON schema</summary>"]
22343 #[doc = r""]
22344 #[doc = r" ```json"]
22345 #[doc = "{"]
22346 #[doc = " \"title\": \"RpcStatusRequest\","]
22347 #[doc = " \"type\": \"object\""]
22348 #[doc = "}"]
22349 #[doc = r" ```"]
22350 #[doc = r" </details>"]
22351 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22352 #[serde(transparent)]
22353 pub struct RpcStatusRequest(pub ::serde_json::Map<::std::string::String, ::serde_json::Value>);
22354 impl ::std::ops::Deref for RpcStatusRequest {
22355 type Target = ::serde_json::Map<::std::string::String, ::serde_json::Value>;
22356 fn deref(&self) -> &::serde_json::Map<::std::string::String, ::serde_json::Value> {
22357 &self.0
22358 }
22359 }
22360 impl ::std::convert::From<RpcStatusRequest>
22361 for ::serde_json::Map<::std::string::String, ::serde_json::Value>
22362 {
22363 fn from(value: RpcStatusRequest) -> Self {
22364 value.0
22365 }
22366 }
22367 impl ::std::convert::From<&RpcStatusRequest> for RpcStatusRequest {
22368 fn from(value: &RpcStatusRequest) -> Self {
22369 value.clone()
22370 }
22371 }
22372 impl ::std::convert::From<::serde_json::Map<::std::string::String, ::serde_json::Value>>
22373 for RpcStatusRequest
22374 {
22375 fn from(value: ::serde_json::Map<::std::string::String, ::serde_json::Value>) -> Self {
22376 Self(value)
22377 }
22378 }
22379 #[doc = "`RpcStatusResponse`"]
22380 #[doc = r""]
22381 #[doc = r" <details><summary>JSON schema</summary>"]
22382 #[doc = r""]
22383 #[doc = r" ```json"]
22384 #[doc = "{"]
22385 #[doc = " \"type\": \"object\","]
22386 #[doc = " \"required\": ["]
22387 #[doc = " \"chain_id\","]
22388 #[doc = " \"genesis_hash\","]
22389 #[doc = " \"latest_protocol_version\","]
22390 #[doc = " \"node_public_key\","]
22391 #[doc = " \"protocol_version\","]
22392 #[doc = " \"sync_info\","]
22393 #[doc = " \"uptime_sec\","]
22394 #[doc = " \"validators\","]
22395 #[doc = " \"version\""]
22396 #[doc = " ],"]
22397 #[doc = " \"properties\": {"]
22398 #[doc = " \"chain_id\": {"]
22399 #[doc = " \"description\": \"Unique chain id.\","]
22400 #[doc = " \"type\": \"string\""]
22401 #[doc = " },"]
22402 #[doc = " \"detailed_debug_status\": {"]
22403 #[doc = " \"description\": \"Information about last blocks, network, epoch and chain & chunk info.\","]
22404 #[doc = " \"oneOf\": ["]
22405 #[doc = " {"]
22406 #[doc = " \"type\": \"null\""]
22407 #[doc = " },"]
22408 #[doc = " {"]
22409 #[doc = " \"allOf\": ["]
22410 #[doc = " {"]
22411 #[doc = " \"$ref\": \"#/components/schemas/DetailedDebugStatus\""]
22412 #[doc = " }"]
22413 #[doc = " ]"]
22414 #[doc = " }"]
22415 #[doc = " ]"]
22416 #[doc = " },"]
22417 #[doc = " \"genesis_hash\": {"]
22418 #[doc = " \"description\": \"Genesis hash of the chain.\","]
22419 #[doc = " \"allOf\": ["]
22420 #[doc = " {"]
22421 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
22422 #[doc = " }"]
22423 #[doc = " ]"]
22424 #[doc = " },"]
22425 #[doc = " \"latest_protocol_version\": {"]
22426 #[doc = " \"description\": \"Latest protocol version that this client supports.\","]
22427 #[doc = " \"type\": \"integer\","]
22428 #[doc = " \"format\": \"uint32\","]
22429 #[doc = " \"minimum\": 0.0"]
22430 #[doc = " },"]
22431 #[doc = " \"node_key\": {"]
22432 #[doc = " \"description\": \"Deprecated; same as `validator_public_key` which you should use instead.\","]
22433 #[doc = " \"oneOf\": ["]
22434 #[doc = " {"]
22435 #[doc = " \"type\": \"null\""]
22436 #[doc = " },"]
22437 #[doc = " {"]
22438 #[doc = " \"allOf\": ["]
22439 #[doc = " {"]
22440 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
22441 #[doc = " }"]
22442 #[doc = " ]"]
22443 #[doc = " }"]
22444 #[doc = " ]"]
22445 #[doc = " },"]
22446 #[doc = " \"node_public_key\": {"]
22447 #[doc = " \"description\": \"Public key of the node.\","]
22448 #[doc = " \"allOf\": ["]
22449 #[doc = " {"]
22450 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
22451 #[doc = " }"]
22452 #[doc = " ]"]
22453 #[doc = " },"]
22454 #[doc = " \"protocol_version\": {"]
22455 #[doc = " \"description\": \"Currently active protocol version.\","]
22456 #[doc = " \"type\": \"integer\","]
22457 #[doc = " \"format\": \"uint32\","]
22458 #[doc = " \"minimum\": 0.0"]
22459 #[doc = " },"]
22460 #[doc = " \"rpc_addr\": {"]
22461 #[doc = " \"description\": \"Address for RPC server. None if node doesn’t have RPC endpoint enabled.\","]
22462 #[doc = " \"type\": ["]
22463 #[doc = " \"string\","]
22464 #[doc = " \"null\""]
22465 #[doc = " ]"]
22466 #[doc = " },"]
22467 #[doc = " \"sync_info\": {"]
22468 #[doc = " \"description\": \"Sync status of the node.\","]
22469 #[doc = " \"allOf\": ["]
22470 #[doc = " {"]
22471 #[doc = " \"$ref\": \"#/components/schemas/StatusSyncInfo\""]
22472 #[doc = " }"]
22473 #[doc = " ]"]
22474 #[doc = " },"]
22475 #[doc = " \"uptime_sec\": {"]
22476 #[doc = " \"description\": \"Uptime of the node.\","]
22477 #[doc = " \"type\": \"integer\","]
22478 #[doc = " \"format\": \"int64\""]
22479 #[doc = " },"]
22480 #[doc = " \"validator_account_id\": {"]
22481 #[doc = " \"description\": \"Validator id of the node\","]
22482 #[doc = " \"oneOf\": ["]
22483 #[doc = " {"]
22484 #[doc = " \"type\": \"null\""]
22485 #[doc = " },"]
22486 #[doc = " {"]
22487 #[doc = " \"allOf\": ["]
22488 #[doc = " {"]
22489 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
22490 #[doc = " }"]
22491 #[doc = " ]"]
22492 #[doc = " }"]
22493 #[doc = " ]"]
22494 #[doc = " },"]
22495 #[doc = " \"validator_public_key\": {"]
22496 #[doc = " \"description\": \"Public key of the validator.\","]
22497 #[doc = " \"oneOf\": ["]
22498 #[doc = " {"]
22499 #[doc = " \"type\": \"null\""]
22500 #[doc = " },"]
22501 #[doc = " {"]
22502 #[doc = " \"allOf\": ["]
22503 #[doc = " {"]
22504 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
22505 #[doc = " }"]
22506 #[doc = " ]"]
22507 #[doc = " }"]
22508 #[doc = " ]"]
22509 #[doc = " },"]
22510 #[doc = " \"validators\": {"]
22511 #[doc = " \"description\": \"Current epoch validators.\","]
22512 #[doc = " \"type\": \"array\","]
22513 #[doc = " \"items\": {"]
22514 #[doc = " \"$ref\": \"#/components/schemas/ValidatorInfo\""]
22515 #[doc = " }"]
22516 #[doc = " },"]
22517 #[doc = " \"version\": {"]
22518 #[doc = " \"description\": \"Binary version.\","]
22519 #[doc = " \"allOf\": ["]
22520 #[doc = " {"]
22521 #[doc = " \"$ref\": \"#/components/schemas/Version\""]
22522 #[doc = " }"]
22523 #[doc = " ]"]
22524 #[doc = " }"]
22525 #[doc = " }"]
22526 #[doc = "}"]
22527 #[doc = r" ```"]
22528 #[doc = r" </details>"]
22529 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22530 pub struct RpcStatusResponse {
22531 #[doc = "Unique chain id."]
22532 pub chain_id: ::std::string::String,
22533 #[doc = "Information about last blocks, network, epoch and chain & chunk info."]
22534 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
22535 pub detailed_debug_status: ::std::option::Option<DetailedDebugStatus>,
22536 #[doc = "Genesis hash of the chain."]
22537 pub genesis_hash: CryptoHash,
22538 #[doc = "Latest protocol version that this client supports."]
22539 pub latest_protocol_version: u32,
22540 #[doc = "Deprecated; same as `validator_public_key` which you should use instead."]
22541 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
22542 pub node_key: ::std::option::Option<PublicKey>,
22543 #[doc = "Public key of the node."]
22544 pub node_public_key: PublicKey,
22545 #[doc = "Currently active protocol version."]
22546 pub protocol_version: u32,
22547 #[doc = "Address for RPC server. None if node doesn’t have RPC endpoint enabled."]
22548 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
22549 pub rpc_addr: ::std::option::Option<::std::string::String>,
22550 #[doc = "Sync status of the node."]
22551 pub sync_info: StatusSyncInfo,
22552 #[doc = "Uptime of the node."]
22553 pub uptime_sec: i64,
22554 #[doc = "Validator id of the node"]
22555 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
22556 pub validator_account_id: ::std::option::Option<AccountId>,
22557 #[doc = "Public key of the validator."]
22558 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
22559 pub validator_public_key: ::std::option::Option<PublicKey>,
22560 #[doc = "Current epoch validators."]
22561 pub validators: ::std::vec::Vec<ValidatorInfo>,
22562 #[doc = "Binary version."]
22563 pub version: Version,
22564 }
22565 impl ::std::convert::From<&RpcStatusResponse> for RpcStatusResponse {
22566 fn from(value: &RpcStatusResponse) -> Self {
22567 value.clone()
22568 }
22569 }
22570 #[doc = "`RpcTransactionResponse`"]
22571 #[doc = r""]
22572 #[doc = r" <details><summary>JSON schema</summary>"]
22573 #[doc = r""]
22574 #[doc = r" ```json"]
22575 #[doc = "{"]
22576 #[doc = " \"type\": \"object\","]
22577 #[doc = " \"anyOf\": ["]
22578 #[doc = " {"]
22579 #[doc = " \"$ref\": \"#/components/schemas/FinalExecutionOutcomeWithReceiptView\""]
22580 #[doc = " },"]
22581 #[doc = " {"]
22582 #[doc = " \"$ref\": \"#/components/schemas/FinalExecutionOutcomeView\""]
22583 #[doc = " }"]
22584 #[doc = " ],"]
22585 #[doc = " \"required\": ["]
22586 #[doc = " \"final_execution_status\""]
22587 #[doc = " ],"]
22588 #[doc = " \"properties\": {"]
22589 #[doc = " \"final_execution_status\": {"]
22590 #[doc = " \"$ref\": \"#/components/schemas/TxExecutionStatus\""]
22591 #[doc = " }"]
22592 #[doc = " }"]
22593 #[doc = "}"]
22594 #[doc = r" ```"]
22595 #[doc = r" </details>"]
22596 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22597 #[serde(untagged)]
22598 pub enum RpcTransactionResponse {
22599 Variant0 {
22600 final_execution_status: TxExecutionStatus,
22601 #[doc = "Receipts generated from the transaction"]
22602 receipts: ::std::vec::Vec<ReceiptView>,
22603 #[doc = "The execution outcome of receipts."]
22604 receipts_outcome: ::std::vec::Vec<ExecutionOutcomeWithIdView>,
22605 #[doc = "Execution status defined by chain.rs:get_final_transaction_result\n FinalExecutionStatus::NotStarted - the tx is not converted to the receipt yet\n FinalExecutionStatus::Started - we have at least 1 receipt, but the first leaf receipt_id (using dfs) hasn't finished the execution\n FinalExecutionStatus::Failure - the result of the first leaf receipt_id\n FinalExecutionStatus::SuccessValue - the result of the first leaf receipt_id"]
22606 status: FinalExecutionStatus,
22607 #[doc = "Signed Transaction"]
22608 transaction: SignedTransactionView,
22609 #[doc = "The execution outcome of the signed transaction."]
22610 transaction_outcome: ExecutionOutcomeWithIdView,
22611 },
22612 Variant1 {
22613 final_execution_status: TxExecutionStatus,
22614 #[doc = "The execution outcome of receipts."]
22615 receipts_outcome: ::std::vec::Vec<ExecutionOutcomeWithIdView>,
22616 #[doc = "Execution status defined by chain.rs:get_final_transaction_result\n FinalExecutionStatus::NotStarted - the tx is not converted to the receipt yet\n FinalExecutionStatus::Started - we have at least 1 receipt, but the first leaf receipt_id (using dfs) hasn't finished the execution\n FinalExecutionStatus::Failure - the result of the first leaf receipt_id\n FinalExecutionStatus::SuccessValue - the result of the first leaf receipt_id"]
22617 status: FinalExecutionStatus,
22618 #[doc = "Signed Transaction"]
22619 transaction: SignedTransactionView,
22620 #[doc = "The execution outcome of the signed transaction."]
22621 transaction_outcome: ExecutionOutcomeWithIdView,
22622 },
22623 }
22624 impl ::std::convert::From<&Self> for RpcTransactionResponse {
22625 fn from(value: &RpcTransactionResponse) -> Self {
22626 value.clone()
22627 }
22628 }
22629 #[doc = "`RpcTransactionStatusRequest`"]
22630 #[doc = r""]
22631 #[doc = r" <details><summary>JSON schema</summary>"]
22632 #[doc = r""]
22633 #[doc = r" ```json"]
22634 #[doc = "{"]
22635 #[doc = " \"title\": \"RpcTransactionStatusRequest\","]
22636 #[doc = " \"type\": \"object\","]
22637 #[doc = " \"anyOf\": ["]
22638 #[doc = " {"]
22639 #[doc = " \"type\": \"object\","]
22640 #[doc = " \"required\": ["]
22641 #[doc = " \"signed_tx_base64\""]
22642 #[doc = " ],"]
22643 #[doc = " \"properties\": {"]
22644 #[doc = " \"signed_tx_base64\": {"]
22645 #[doc = " \"$ref\": \"#/components/schemas/SignedTransaction\""]
22646 #[doc = " }"]
22647 #[doc = " }"]
22648 #[doc = " },"]
22649 #[doc = " {"]
22650 #[doc = " \"type\": \"object\","]
22651 #[doc = " \"required\": ["]
22652 #[doc = " \"sender_account_id\","]
22653 #[doc = " \"tx_hash\""]
22654 #[doc = " ],"]
22655 #[doc = " \"properties\": {"]
22656 #[doc = " \"sender_account_id\": {"]
22657 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
22658 #[doc = " },"]
22659 #[doc = " \"tx_hash\": {"]
22660 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
22661 #[doc = " }"]
22662 #[doc = " }"]
22663 #[doc = " }"]
22664 #[doc = " ],"]
22665 #[doc = " \"properties\": {"]
22666 #[doc = " \"wait_until\": {"]
22667 #[doc = " \"default\": \"EXECUTED_OPTIMISTIC\","]
22668 #[doc = " \"allOf\": ["]
22669 #[doc = " {"]
22670 #[doc = " \"$ref\": \"#/components/schemas/TxExecutionStatus\""]
22671 #[doc = " }"]
22672 #[doc = " ]"]
22673 #[doc = " }"]
22674 #[doc = " }"]
22675 #[doc = "}"]
22676 #[doc = r" ```"]
22677 #[doc = r" </details>"]
22678 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22679 #[serde(untagged)]
22680 pub enum RpcTransactionStatusRequest {
22681 Variant0 {
22682 signed_tx_base64: SignedTransaction,
22683 #[serde(default = "defaults::rpc_transaction_status_request_variant0_wait_until")]
22684 wait_until: TxExecutionStatus,
22685 },
22686 Variant1 {
22687 sender_account_id: AccountId,
22688 tx_hash: CryptoHash,
22689 #[serde(default = "defaults::rpc_transaction_status_request_variant1_wait_until")]
22690 wait_until: TxExecutionStatus,
22691 },
22692 }
22693 impl ::std::convert::From<&Self> for RpcTransactionStatusRequest {
22694 fn from(value: &RpcTransactionStatusRequest) -> Self {
22695 value.clone()
22696 }
22697 }
22698 #[doc = "`RpcValidatorRequest`"]
22699 #[doc = r""]
22700 #[doc = r" <details><summary>JSON schema</summary>"]
22701 #[doc = r""]
22702 #[doc = r" ```json"]
22703 #[doc = "{"]
22704 #[doc = " \"title\": \"RpcValidatorRequest\","]
22705 #[doc = " \"type\": \"object\","]
22706 #[doc = " \"oneOf\": ["]
22707 #[doc = " {"]
22708 #[doc = " \"type\": \"string\","]
22709 #[doc = " \"enum\": ["]
22710 #[doc = " \"latest\""]
22711 #[doc = " ]"]
22712 #[doc = " },"]
22713 #[doc = " {"]
22714 #[doc = " \"type\": \"object\","]
22715 #[doc = " \"required\": ["]
22716 #[doc = " \"epoch_id\""]
22717 #[doc = " ],"]
22718 #[doc = " \"properties\": {"]
22719 #[doc = " \"epoch_id\": {"]
22720 #[doc = " \"$ref\": \"#/components/schemas/EpochId\""]
22721 #[doc = " }"]
22722 #[doc = " }"]
22723 #[doc = " },"]
22724 #[doc = " {"]
22725 #[doc = " \"type\": \"object\","]
22726 #[doc = " \"required\": ["]
22727 #[doc = " \"block_id\""]
22728 #[doc = " ],"]
22729 #[doc = " \"properties\": {"]
22730 #[doc = " \"block_id\": {"]
22731 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
22732 #[doc = " }"]
22733 #[doc = " }"]
22734 #[doc = " }"]
22735 #[doc = " ]"]
22736 #[doc = "}"]
22737 #[doc = r" ```"]
22738 #[doc = r" </details>"]
22739 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22740 pub enum RpcValidatorRequest {
22741 #[serde(rename = "latest")]
22742 Latest,
22743 #[serde(rename = "epoch_id")]
22744 EpochId(EpochId),
22745 #[serde(rename = "block_id")]
22746 BlockId(BlockId),
22747 }
22748 impl ::std::convert::From<&Self> for RpcValidatorRequest {
22749 fn from(value: &RpcValidatorRequest) -> Self {
22750 value.clone()
22751 }
22752 }
22753 impl ::std::convert::From<EpochId> for RpcValidatorRequest {
22754 fn from(value: EpochId) -> Self {
22755 Self::EpochId(value)
22756 }
22757 }
22758 impl ::std::convert::From<BlockId> for RpcValidatorRequest {
22759 fn from(value: BlockId) -> Self {
22760 Self::BlockId(value)
22761 }
22762 }
22763 #[doc = "Information about this epoch validators and next epoch validators"]
22764 #[doc = r""]
22765 #[doc = r" <details><summary>JSON schema</summary>"]
22766 #[doc = r""]
22767 #[doc = r" ```json"]
22768 #[doc = "{"]
22769 #[doc = " \"description\": \"Information about this epoch validators and next epoch validators\","]
22770 #[doc = " \"type\": \"object\","]
22771 #[doc = " \"required\": ["]
22772 #[doc = " \"current_fishermen\","]
22773 #[doc = " \"current_proposals\","]
22774 #[doc = " \"current_validators\","]
22775 #[doc = " \"epoch_height\","]
22776 #[doc = " \"epoch_start_height\","]
22777 #[doc = " \"next_fishermen\","]
22778 #[doc = " \"next_validators\","]
22779 #[doc = " \"prev_epoch_kickout\""]
22780 #[doc = " ],"]
22781 #[doc = " \"properties\": {"]
22782 #[doc = " \"current_fishermen\": {"]
22783 #[doc = " \"description\": \"Fishermen for the current epoch\","]
22784 #[doc = " \"type\": \"array\","]
22785 #[doc = " \"items\": {"]
22786 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
22787 #[doc = " }"]
22788 #[doc = " },"]
22789 #[doc = " \"current_proposals\": {"]
22790 #[doc = " \"description\": \"Proposals in the current epoch\","]
22791 #[doc = " \"type\": \"array\","]
22792 #[doc = " \"items\": {"]
22793 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
22794 #[doc = " }"]
22795 #[doc = " },"]
22796 #[doc = " \"current_validators\": {"]
22797 #[doc = " \"description\": \"Validators for the current epoch\","]
22798 #[doc = " \"type\": \"array\","]
22799 #[doc = " \"items\": {"]
22800 #[doc = " \"$ref\": \"#/components/schemas/CurrentEpochValidatorInfo\""]
22801 #[doc = " }"]
22802 #[doc = " },"]
22803 #[doc = " \"epoch_height\": {"]
22804 #[doc = " \"description\": \"Epoch height\","]
22805 #[doc = " \"type\": \"integer\","]
22806 #[doc = " \"format\": \"uint64\","]
22807 #[doc = " \"minimum\": 0.0"]
22808 #[doc = " },"]
22809 #[doc = " \"epoch_start_height\": {"]
22810 #[doc = " \"description\": \"Epoch start block height\","]
22811 #[doc = " \"type\": \"integer\","]
22812 #[doc = " \"format\": \"uint64\","]
22813 #[doc = " \"minimum\": 0.0"]
22814 #[doc = " },"]
22815 #[doc = " \"next_fishermen\": {"]
22816 #[doc = " \"description\": \"Fishermen for the next epoch\","]
22817 #[doc = " \"type\": \"array\","]
22818 #[doc = " \"items\": {"]
22819 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeView\""]
22820 #[doc = " }"]
22821 #[doc = " },"]
22822 #[doc = " \"next_validators\": {"]
22823 #[doc = " \"description\": \"Validators for the next epoch\","]
22824 #[doc = " \"type\": \"array\","]
22825 #[doc = " \"items\": {"]
22826 #[doc = " \"$ref\": \"#/components/schemas/NextEpochValidatorInfo\""]
22827 #[doc = " }"]
22828 #[doc = " },"]
22829 #[doc = " \"prev_epoch_kickout\": {"]
22830 #[doc = " \"description\": \"Kickout in the previous epoch\","]
22831 #[doc = " \"type\": \"array\","]
22832 #[doc = " \"items\": {"]
22833 #[doc = " \"$ref\": \"#/components/schemas/ValidatorKickoutView\""]
22834 #[doc = " }"]
22835 #[doc = " }"]
22836 #[doc = " }"]
22837 #[doc = "}"]
22838 #[doc = r" ```"]
22839 #[doc = r" </details>"]
22840 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22841 pub struct RpcValidatorResponse {
22842 #[doc = "Fishermen for the current epoch"]
22843 pub current_fishermen: ::std::vec::Vec<ValidatorStakeView>,
22844 #[doc = "Proposals in the current epoch"]
22845 pub current_proposals: ::std::vec::Vec<ValidatorStakeView>,
22846 #[doc = "Validators for the current epoch"]
22847 pub current_validators: ::std::vec::Vec<CurrentEpochValidatorInfo>,
22848 #[doc = "Epoch height"]
22849 pub epoch_height: u64,
22850 #[doc = "Epoch start block height"]
22851 pub epoch_start_height: u64,
22852 #[doc = "Fishermen for the next epoch"]
22853 pub next_fishermen: ::std::vec::Vec<ValidatorStakeView>,
22854 #[doc = "Validators for the next epoch"]
22855 pub next_validators: ::std::vec::Vec<NextEpochValidatorInfo>,
22856 #[doc = "Kickout in the previous epoch"]
22857 pub prev_epoch_kickout: ::std::vec::Vec<ValidatorKickoutView>,
22858 }
22859 impl ::std::convert::From<&RpcValidatorResponse> for RpcValidatorResponse {
22860 fn from(value: &RpcValidatorResponse) -> Self {
22861 value.clone()
22862 }
22863 }
22864 #[doc = "`RpcValidatorsOrderedRequest`"]
22865 #[doc = r""]
22866 #[doc = r" <details><summary>JSON schema</summary>"]
22867 #[doc = r""]
22868 #[doc = r" ```json"]
22869 #[doc = "{"]
22870 #[doc = " \"title\": \"RpcValidatorsOrderedRequest\","]
22871 #[doc = " \"type\": \"object\","]
22872 #[doc = " \"properties\": {"]
22873 #[doc = " \"block_id\": {"]
22874 #[doc = " \"oneOf\": ["]
22875 #[doc = " {"]
22876 #[doc = " \"type\": \"null\""]
22877 #[doc = " },"]
22878 #[doc = " {"]
22879 #[doc = " \"allOf\": ["]
22880 #[doc = " {"]
22881 #[doc = " \"$ref\": \"#/components/schemas/BlockId\""]
22882 #[doc = " }"]
22883 #[doc = " ]"]
22884 #[doc = " }"]
22885 #[doc = " ]"]
22886 #[doc = " }"]
22887 #[doc = " }"]
22888 #[doc = "}"]
22889 #[doc = r" ```"]
22890 #[doc = r" </details>"]
22891 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22892 pub struct RpcValidatorsOrderedRequest {
22893 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
22894 pub block_id: ::std::option::Option<BlockId>,
22895 }
22896 impl ::std::convert::From<&RpcValidatorsOrderedRequest> for RpcValidatorsOrderedRequest {
22897 fn from(value: &RpcValidatorsOrderedRequest) -> Self {
22898 value.clone()
22899 }
22900 }
22901 impl ::std::default::Default for RpcValidatorsOrderedRequest {
22902 fn default() -> Self {
22903 Self {
22904 block_id: Default::default(),
22905 }
22906 }
22907 }
22908 #[doc = "View that preserves JSON format of the runtime config."]
22909 #[doc = r""]
22910 #[doc = r" <details><summary>JSON schema</summary>"]
22911 #[doc = r""]
22912 #[doc = r" ```json"]
22913 #[doc = "{"]
22914 #[doc = " \"description\": \"View that preserves JSON format of the runtime config.\","]
22915 #[doc = " \"type\": \"object\","]
22916 #[doc = " \"required\": ["]
22917 #[doc = " \"account_creation_config\","]
22918 #[doc = " \"congestion_control_config\","]
22919 #[doc = " \"storage_amount_per_byte\","]
22920 #[doc = " \"transaction_costs\","]
22921 #[doc = " \"wasm_config\","]
22922 #[doc = " \"witness_config\""]
22923 #[doc = " ],"]
22924 #[doc = " \"properties\": {"]
22925 #[doc = " \"account_creation_config\": {"]
22926 #[doc = " \"description\": \"Config that defines rules for account creation.\","]
22927 #[doc = " \"allOf\": ["]
22928 #[doc = " {"]
22929 #[doc = " \"$ref\": \"#/components/schemas/AccountCreationConfigView\""]
22930 #[doc = " }"]
22931 #[doc = " ]"]
22932 #[doc = " },"]
22933 #[doc = " \"congestion_control_config\": {"]
22934 #[doc = " \"description\": \"The configuration for congestion control.\","]
22935 #[doc = " \"allOf\": ["]
22936 #[doc = " {"]
22937 #[doc = " \"$ref\": \"#/components/schemas/CongestionControlConfigView\""]
22938 #[doc = " }"]
22939 #[doc = " ]"]
22940 #[doc = " },"]
22941 #[doc = " \"storage_amount_per_byte\": {"]
22942 #[doc = " \"description\": \"Amount of yN per byte required to have on the account. See\\n <https://nomicon.io/Economics/Economic#state-stake> for details.\","]
22943 #[doc = " \"type\": \"string\""]
22944 #[doc = " },"]
22945 #[doc = " \"transaction_costs\": {"]
22946 #[doc = " \"description\": \"Costs of different actions that need to be performed when sending and\\n processing transaction and receipts.\","]
22947 #[doc = " \"allOf\": ["]
22948 #[doc = " {"]
22949 #[doc = " \"$ref\": \"#/components/schemas/RuntimeFeesConfigView\""]
22950 #[doc = " }"]
22951 #[doc = " ]"]
22952 #[doc = " },"]
22953 #[doc = " \"wasm_config\": {"]
22954 #[doc = " \"description\": \"Config of wasm operations.\","]
22955 #[doc = " \"allOf\": ["]
22956 #[doc = " {"]
22957 #[doc = " \"$ref\": \"#/components/schemas/VMConfigView\""]
22958 #[doc = " }"]
22959 #[doc = " ]"]
22960 #[doc = " },"]
22961 #[doc = " \"witness_config\": {"]
22962 #[doc = " \"description\": \"Configuration specific to ChunkStateWitness.\","]
22963 #[doc = " \"allOf\": ["]
22964 #[doc = " {"]
22965 #[doc = " \"$ref\": \"#/components/schemas/WitnessConfigView\""]
22966 #[doc = " }"]
22967 #[doc = " ]"]
22968 #[doc = " }"]
22969 #[doc = " }"]
22970 #[doc = "}"]
22971 #[doc = r" ```"]
22972 #[doc = r" </details>"]
22973 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
22974 pub struct RuntimeConfigView {
22975 #[doc = "Config that defines rules for account creation."]
22976 pub account_creation_config: AccountCreationConfigView,
22977 #[doc = "The configuration for congestion control."]
22978 pub congestion_control_config: CongestionControlConfigView,
22979 #[doc = "Amount of yN per byte required to have on the account. See\n <https://nomicon.io/Economics/Economic#state-stake> for details."]
22980 pub storage_amount_per_byte: ::std::string::String,
22981 #[doc = "Costs of different actions that need to be performed when sending and\n processing transaction and receipts."]
22982 pub transaction_costs: RuntimeFeesConfigView,
22983 #[doc = "Config of wasm operations."]
22984 pub wasm_config: VmConfigView,
22985 #[doc = "Configuration specific to ChunkStateWitness."]
22986 pub witness_config: WitnessConfigView,
22987 }
22988 impl ::std::convert::From<&RuntimeConfigView> for RuntimeConfigView {
22989 fn from(value: &RuntimeConfigView) -> Self {
22990 value.clone()
22991 }
22992 }
22993 #[doc = "`RuntimeFeesConfigView`"]
22994 #[doc = r""]
22995 #[doc = r" <details><summary>JSON schema</summary>"]
22996 #[doc = r""]
22997 #[doc = r" ```json"]
22998 #[doc = "{"]
22999 #[doc = " \"type\": \"object\","]
23000 #[doc = " \"required\": ["]
23001 #[doc = " \"action_creation_config\","]
23002 #[doc = " \"action_receipt_creation_config\","]
23003 #[doc = " \"burnt_gas_reward\","]
23004 #[doc = " \"data_receipt_creation_config\","]
23005 #[doc = " \"pessimistic_gas_price_inflation_ratio\","]
23006 #[doc = " \"storage_usage_config\""]
23007 #[doc = " ],"]
23008 #[doc = " \"properties\": {"]
23009 #[doc = " \"action_creation_config\": {"]
23010 #[doc = " \"description\": \"Describes the cost of creating a certain action, `Action`. Includes all variants.\","]
23011 #[doc = " \"allOf\": ["]
23012 #[doc = " {"]
23013 #[doc = " \"$ref\": \"#/components/schemas/ActionCreationConfigView\""]
23014 #[doc = " }"]
23015 #[doc = " ]"]
23016 #[doc = " },"]
23017 #[doc = " \"action_receipt_creation_config\": {"]
23018 #[doc = " \"description\": \"Describes the cost of creating an action receipt, `ActionReceipt`, excluding the actual cost\\n of actions.\\n - `send` cost is burned when a receipt is created using `promise_create` or\\n `promise_batch_create`\\n - `exec` cost is burned when the receipt is being executed.\","]
23019 #[doc = " \"allOf\": ["]
23020 #[doc = " {"]
23021 #[doc = " \"$ref\": \"#/components/schemas/Fee\""]
23022 #[doc = " }"]
23023 #[doc = " ]"]
23024 #[doc = " },"]
23025 #[doc = " \"burnt_gas_reward\": {"]
23026 #[doc = " \"description\": \"Fraction of the burnt gas to reward to the contract account for execution.\","]
23027 #[doc = " \"type\": \"array\","]
23028 #[doc = " \"items\": {"]
23029 #[doc = " \"type\": \"integer\","]
23030 #[doc = " \"format\": \"int32\""]
23031 #[doc = " },"]
23032 #[doc = " \"maxItems\": 2,"]
23033 #[doc = " \"minItems\": 2"]
23034 #[doc = " },"]
23035 #[doc = " \"data_receipt_creation_config\": {"]
23036 #[doc = " \"description\": \"Describes the cost of creating a data receipt, `DataReceipt`.\","]
23037 #[doc = " \"allOf\": ["]
23038 #[doc = " {"]
23039 #[doc = " \"$ref\": \"#/components/schemas/DataReceiptCreationConfigView\""]
23040 #[doc = " }"]
23041 #[doc = " ]"]
23042 #[doc = " },"]
23043 #[doc = " \"pessimistic_gas_price_inflation_ratio\": {"]
23044 #[doc = " \"description\": \"Pessimistic gas price inflation ratio.\","]
23045 #[doc = " \"type\": \"array\","]
23046 #[doc = " \"items\": {"]
23047 #[doc = " \"type\": \"integer\","]
23048 #[doc = " \"format\": \"int32\""]
23049 #[doc = " },"]
23050 #[doc = " \"maxItems\": 2,"]
23051 #[doc = " \"minItems\": 2"]
23052 #[doc = " },"]
23053 #[doc = " \"storage_usage_config\": {"]
23054 #[doc = " \"description\": \"Describes fees for storage.\","]
23055 #[doc = " \"allOf\": ["]
23056 #[doc = " {"]
23057 #[doc = " \"$ref\": \"#/components/schemas/StorageUsageConfigView\""]
23058 #[doc = " }"]
23059 #[doc = " ]"]
23060 #[doc = " }"]
23061 #[doc = " }"]
23062 #[doc = "}"]
23063 #[doc = r" ```"]
23064 #[doc = r" </details>"]
23065 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23066 pub struct RuntimeFeesConfigView {
23067 #[doc = "Describes the cost of creating a certain action, `Action`. Includes all variants."]
23068 pub action_creation_config: ActionCreationConfigView,
23069 #[doc = "Describes the cost of creating an action receipt, `ActionReceipt`, excluding the actual cost\n of actions.\n - `send` cost is burned when a receipt is created using `promise_create` or\n `promise_batch_create`\n - `exec` cost is burned when the receipt is being executed."]
23070 pub action_receipt_creation_config: Fee,
23071 #[doc = "Fraction of the burnt gas to reward to the contract account for execution."]
23072 pub burnt_gas_reward: [i32; 2usize],
23073 #[doc = "Describes the cost of creating a data receipt, `DataReceipt`."]
23074 pub data_receipt_creation_config: DataReceiptCreationConfigView,
23075 #[doc = "Pessimistic gas price inflation ratio."]
23076 pub pessimistic_gas_price_inflation_ratio: [i32; 2usize],
23077 #[doc = "Describes fees for storage."]
23078 pub storage_usage_config: StorageUsageConfigView,
23079 }
23080 impl ::std::convert::From<&RuntimeFeesConfigView> for RuntimeFeesConfigView {
23081 fn from(value: &RuntimeFeesConfigView) -> Self {
23082 value.clone()
23083 }
23084 }
23085 #[doc = "The shard identifier. It may be an arbitrary number - it does not need to be\n a number in the range 0..NUM_SHARDS. The shard ids do not need to be\n sequential or contiguous.\n\n The shard id is wrapped in a new type to prevent the old pattern of using\n indices in range 0..NUM_SHARDS and casting to ShardId. Once the transition\n if fully complete it potentially may be simplified to a regular type alias."]
23086 #[doc = r""]
23087 #[doc = r" <details><summary>JSON schema</summary>"]
23088 #[doc = r""]
23089 #[doc = r" ```json"]
23090 #[doc = "{"]
23091 #[doc = " \"description\": \"The shard identifier. It may be an arbitrary number - it does not need to be\\n a number in the range 0..NUM_SHARDS. The shard ids do not need to be\\n sequential or contiguous.\\n\\n The shard id is wrapped in a new type to prevent the old pattern of using\\n indices in range 0..NUM_SHARDS and casting to ShardId. Once the transition\\n if fully complete it potentially may be simplified to a regular type alias.\","]
23092 #[doc = " \"type\": \"integer\","]
23093 #[doc = " \"format\": \"uint64\","]
23094 #[doc = " \"minimum\": 0.0"]
23095 #[doc = "}"]
23096 #[doc = r" ```"]
23097 #[doc = r" </details>"]
23098 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23099 #[serde(transparent)]
23100 pub struct ShardId(pub u64);
23101 impl ::std::ops::Deref for ShardId {
23102 type Target = u64;
23103 fn deref(&self) -> &u64 {
23104 &self.0
23105 }
23106 }
23107 impl ::std::convert::From<ShardId> for u64 {
23108 fn from(value: ShardId) -> Self {
23109 value.0
23110 }
23111 }
23112 impl ::std::convert::From<&ShardId> for ShardId {
23113 fn from(value: &ShardId) -> Self {
23114 value.clone()
23115 }
23116 }
23117 impl ::std::convert::From<u64> for ShardId {
23118 fn from(value: u64) -> Self {
23119 Self(value)
23120 }
23121 }
23122 impl ::std::str::FromStr for ShardId {
23123 type Err = <u64 as ::std::str::FromStr>::Err;
23124 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
23125 Ok(Self(value.parse()?))
23126 }
23127 }
23128 impl ::std::convert::TryFrom<&str> for ShardId {
23129 type Error = <u64 as ::std::str::FromStr>::Err;
23130 fn try_from(value: &str) -> ::std::result::Result<Self, Self::Error> {
23131 value.parse()
23132 }
23133 }
23134 impl ::std::convert::TryFrom<&String> for ShardId {
23135 type Error = <u64 as ::std::str::FromStr>::Err;
23136 fn try_from(value: &String) -> ::std::result::Result<Self, Self::Error> {
23137 value.parse()
23138 }
23139 }
23140 impl ::std::convert::TryFrom<String> for ShardId {
23141 type Error = <u64 as ::std::str::FromStr>::Err;
23142 fn try_from(value: String) -> ::std::result::Result<Self, Self::Error> {
23143 value.parse()
23144 }
23145 }
23146 impl ::std::fmt::Display for ShardId {
23147 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23148 self.0.fmt(f)
23149 }
23150 }
23151 #[doc = "A versioned struct that contains all information needed to assign accounts to shards.\n\n Because of re-sharding, the chain may use different shard layout to split shards at different\n times. Currently, `ShardLayout` is stored as part of `EpochConfig`, which is generated each\n epoch given the epoch protocol version. In mainnet/testnet, we use two shard layouts since\n re-sharding has only happened once. It is stored as part of genesis config, see\n default_simple_nightshade_shard_layout() Below is an overview for some important\n functionalities of ShardLayout interface."]
23152 #[doc = r""]
23153 #[doc = r" <details><summary>JSON schema</summary>"]
23154 #[doc = r""]
23155 #[doc = r" ```json"]
23156 #[doc = "{"]
23157 #[doc = " \"description\": \"A versioned struct that contains all information needed to assign accounts to shards.\\n\\n Because of re-sharding, the chain may use different shard layout to split shards at different\\n times. Currently, `ShardLayout` is stored as part of `EpochConfig`, which is generated each\\n epoch given the epoch protocol version. In mainnet/testnet, we use two shard layouts since\\n re-sharding has only happened once. It is stored as part of genesis config, see\\n default_simple_nightshade_shard_layout() Below is an overview for some important\\n functionalities of ShardLayout interface.\","]
23158 #[doc = " \"oneOf\": ["]
23159 #[doc = " {"]
23160 #[doc = " \"type\": \"object\","]
23161 #[doc = " \"required\": ["]
23162 #[doc = " \"V0\""]
23163 #[doc = " ],"]
23164 #[doc = " \"properties\": {"]
23165 #[doc = " \"V0\": {"]
23166 #[doc = " \"$ref\": \"#/components/schemas/ShardLayoutV0\""]
23167 #[doc = " }"]
23168 #[doc = " },"]
23169 #[doc = " \"additionalProperties\": false"]
23170 #[doc = " },"]
23171 #[doc = " {"]
23172 #[doc = " \"type\": \"object\","]
23173 #[doc = " \"required\": ["]
23174 #[doc = " \"V1\""]
23175 #[doc = " ],"]
23176 #[doc = " \"properties\": {"]
23177 #[doc = " \"V1\": {"]
23178 #[doc = " \"$ref\": \"#/components/schemas/ShardLayoutV1\""]
23179 #[doc = " }"]
23180 #[doc = " },"]
23181 #[doc = " \"additionalProperties\": false"]
23182 #[doc = " },"]
23183 #[doc = " {"]
23184 #[doc = " \"type\": \"object\","]
23185 #[doc = " \"required\": ["]
23186 #[doc = " \"V2\""]
23187 #[doc = " ],"]
23188 #[doc = " \"properties\": {"]
23189 #[doc = " \"V2\": {"]
23190 #[doc = " \"$ref\": \"#/components/schemas/ShardLayoutV2\""]
23191 #[doc = " }"]
23192 #[doc = " },"]
23193 #[doc = " \"additionalProperties\": false"]
23194 #[doc = " }"]
23195 #[doc = " ]"]
23196 #[doc = "}"]
23197 #[doc = r" ```"]
23198 #[doc = r" </details>"]
23199 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23200 pub enum ShardLayout {
23201 V0(ShardLayoutV0),
23202 V1(ShardLayoutV1),
23203 V2(ShardLayoutV2),
23204 }
23205 impl ::std::convert::From<&Self> for ShardLayout {
23206 fn from(value: &ShardLayout) -> Self {
23207 value.clone()
23208 }
23209 }
23210 impl ::std::convert::From<ShardLayoutV0> for ShardLayout {
23211 fn from(value: ShardLayoutV0) -> Self {
23212 Self::V0(value)
23213 }
23214 }
23215 impl ::std::convert::From<ShardLayoutV1> for ShardLayout {
23216 fn from(value: ShardLayoutV1) -> Self {
23217 Self::V1(value)
23218 }
23219 }
23220 impl ::std::convert::From<ShardLayoutV2> for ShardLayout {
23221 fn from(value: ShardLayoutV2) -> Self {
23222 Self::V2(value)
23223 }
23224 }
23225 #[doc = "A shard layout that maps accounts evenly across all shards -- by calculate the hash of account\n id and mod number of shards. This is added to capture the old `account_id_to_shard_id` algorithm,\n to keep backward compatibility for some existing tests.\n `parent_shards` for `ShardLayoutV1` is always `None`, meaning it can only be the first shard layout\n a chain uses."]
23226 #[doc = r""]
23227 #[doc = r" <details><summary>JSON schema</summary>"]
23228 #[doc = r""]
23229 #[doc = r" ```json"]
23230 #[doc = "{"]
23231 #[doc = " \"description\": \"A shard layout that maps accounts evenly across all shards -- by calculate the hash of account\\n id and mod number of shards. This is added to capture the old `account_id_to_shard_id` algorithm,\\n to keep backward compatibility for some existing tests.\\n `parent_shards` for `ShardLayoutV1` is always `None`, meaning it can only be the first shard layout\\n a chain uses.\","]
23232 #[doc = " \"type\": \"object\","]
23233 #[doc = " \"required\": ["]
23234 #[doc = " \"num_shards\","]
23235 #[doc = " \"version\""]
23236 #[doc = " ],"]
23237 #[doc = " \"properties\": {"]
23238 #[doc = " \"num_shards\": {"]
23239 #[doc = " \"description\": \"Map accounts evenly across all shards\","]
23240 #[doc = " \"type\": \"integer\","]
23241 #[doc = " \"format\": \"uint64\","]
23242 #[doc = " \"minimum\": 0.0"]
23243 #[doc = " },"]
23244 #[doc = " \"version\": {"]
23245 #[doc = " \"description\": \"Version of the shard layout, this is useful for uniquely identify the shard layout\","]
23246 #[doc = " \"type\": \"integer\","]
23247 #[doc = " \"format\": \"uint32\","]
23248 #[doc = " \"minimum\": 0.0"]
23249 #[doc = " }"]
23250 #[doc = " }"]
23251 #[doc = "}"]
23252 #[doc = r" ```"]
23253 #[doc = r" </details>"]
23254 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23255 pub struct ShardLayoutV0 {
23256 #[doc = "Map accounts evenly across all shards"]
23257 pub num_shards: u64,
23258 #[doc = "Version of the shard layout, this is useful for uniquely identify the shard layout"]
23259 pub version: u32,
23260 }
23261 impl ::std::convert::From<&ShardLayoutV0> for ShardLayoutV0 {
23262 fn from(value: &ShardLayoutV0) -> Self {
23263 value.clone()
23264 }
23265 }
23266 #[doc = "`ShardLayoutV1`"]
23267 #[doc = r""]
23268 #[doc = r" <details><summary>JSON schema</summary>"]
23269 #[doc = r""]
23270 #[doc = r" ```json"]
23271 #[doc = "{"]
23272 #[doc = " \"type\": \"object\","]
23273 #[doc = " \"required\": ["]
23274 #[doc = " \"boundary_accounts\","]
23275 #[doc = " \"version\""]
23276 #[doc = " ],"]
23277 #[doc = " \"properties\": {"]
23278 #[doc = " \"boundary_accounts\": {"]
23279 #[doc = " \"description\": \"The boundary accounts are the accounts on boundaries between shards.\\n Each shard contains a range of accounts from one boundary account to\\n another - or the smallest or largest account possible. The total\\n number of shards is equal to the number of boundary accounts plus 1.\","]
23280 #[doc = " \"type\": \"array\","]
23281 #[doc = " \"items\": {"]
23282 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
23283 #[doc = " }"]
23284 #[doc = " },"]
23285 #[doc = " \"shards_split_map\": {"]
23286 #[doc = " \"description\": \"Maps shards from the last shard layout to shards that it splits to in this shard layout,\\n Useful for constructing states for the shards.\\n None for the genesis shard layout\","]
23287 #[doc = " \"type\": ["]
23288 #[doc = " \"array\","]
23289 #[doc = " \"null\""]
23290 #[doc = " ],"]
23291 #[doc = " \"items\": {"]
23292 #[doc = " \"type\": \"array\","]
23293 #[doc = " \"items\": {"]
23294 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
23295 #[doc = " }"]
23296 #[doc = " }"]
23297 #[doc = " },"]
23298 #[doc = " \"to_parent_shard_map\": {"]
23299 #[doc = " \"description\": \"Maps shard in this shard layout to their parent shard\\n Since shard_ids always range from 0 to num_shards - 1, we use vec instead of a hashmap\","]
23300 #[doc = " \"type\": ["]
23301 #[doc = " \"array\","]
23302 #[doc = " \"null\""]
23303 #[doc = " ],"]
23304 #[doc = " \"items\": {"]
23305 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
23306 #[doc = " }"]
23307 #[doc = " },"]
23308 #[doc = " \"version\": {"]
23309 #[doc = " \"description\": \"Version of the shard layout, this is useful for uniquely identify the shard layout\","]
23310 #[doc = " \"type\": \"integer\","]
23311 #[doc = " \"format\": \"uint32\","]
23312 #[doc = " \"minimum\": 0.0"]
23313 #[doc = " }"]
23314 #[doc = " }"]
23315 #[doc = "}"]
23316 #[doc = r" ```"]
23317 #[doc = r" </details>"]
23318 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23319 pub struct ShardLayoutV1 {
23320 #[doc = "The boundary accounts are the accounts on boundaries between shards.\n Each shard contains a range of accounts from one boundary account to\n another - or the smallest or largest account possible. The total\n number of shards is equal to the number of boundary accounts plus 1."]
23321 pub boundary_accounts: ::std::vec::Vec<AccountId>,
23322 #[doc = "Maps shards from the last shard layout to shards that it splits to in this shard layout,\n Useful for constructing states for the shards.\n None for the genesis shard layout"]
23323 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
23324 pub shards_split_map: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<ShardId>>>,
23325 #[doc = "Maps shard in this shard layout to their parent shard\n Since shard_ids always range from 0 to num_shards - 1, we use vec instead of a hashmap"]
23326 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
23327 pub to_parent_shard_map: ::std::option::Option<::std::vec::Vec<ShardId>>,
23328 #[doc = "Version of the shard layout, this is useful for uniquely identify the shard layout"]
23329 pub version: u32,
23330 }
23331 impl ::std::convert::From<&ShardLayoutV1> for ShardLayoutV1 {
23332 fn from(value: &ShardLayoutV1) -> Self {
23333 value.clone()
23334 }
23335 }
23336 #[doc = "Counterpart to `ShardLayoutV2` composed of maps with string keys to aid\n serde serialization."]
23337 #[doc = r""]
23338 #[doc = r" <details><summary>JSON schema</summary>"]
23339 #[doc = r""]
23340 #[doc = r" ```json"]
23341 #[doc = "{"]
23342 #[doc = " \"description\": \"Counterpart to `ShardLayoutV2` composed of maps with string keys to aid\\n serde serialization.\","]
23343 #[doc = " \"type\": \"object\","]
23344 #[doc = " \"required\": ["]
23345 #[doc = " \"boundary_accounts\","]
23346 #[doc = " \"id_to_index_map\","]
23347 #[doc = " \"index_to_id_map\","]
23348 #[doc = " \"shard_ids\","]
23349 #[doc = " \"version\""]
23350 #[doc = " ],"]
23351 #[doc = " \"properties\": {"]
23352 #[doc = " \"boundary_accounts\": {"]
23353 #[doc = " \"type\": \"array\","]
23354 #[doc = " \"items\": {"]
23355 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
23356 #[doc = " }"]
23357 #[doc = " },"]
23358 #[doc = " \"id_to_index_map\": {"]
23359 #[doc = " \"type\": \"object\","]
23360 #[doc = " \"additionalProperties\": {"]
23361 #[doc = " \"type\": \"integer\","]
23362 #[doc = " \"format\": \"uint\","]
23363 #[doc = " \"minimum\": 0.0"]
23364 #[doc = " }"]
23365 #[doc = " },"]
23366 #[doc = " \"index_to_id_map\": {"]
23367 #[doc = " \"type\": \"object\","]
23368 #[doc = " \"additionalProperties\": {"]
23369 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
23370 #[doc = " }"]
23371 #[doc = " },"]
23372 #[doc = " \"shard_ids\": {"]
23373 #[doc = " \"type\": \"array\","]
23374 #[doc = " \"items\": {"]
23375 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
23376 #[doc = " }"]
23377 #[doc = " },"]
23378 #[doc = " \"shards_parent_map\": {"]
23379 #[doc = " \"type\": ["]
23380 #[doc = " \"object\","]
23381 #[doc = " \"null\""]
23382 #[doc = " ],"]
23383 #[doc = " \"additionalProperties\": {"]
23384 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
23385 #[doc = " }"]
23386 #[doc = " },"]
23387 #[doc = " \"shards_split_map\": {"]
23388 #[doc = " \"type\": ["]
23389 #[doc = " \"object\","]
23390 #[doc = " \"null\""]
23391 #[doc = " ],"]
23392 #[doc = " \"additionalProperties\": {"]
23393 #[doc = " \"type\": \"array\","]
23394 #[doc = " \"items\": {"]
23395 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
23396 #[doc = " }"]
23397 #[doc = " }"]
23398 #[doc = " },"]
23399 #[doc = " \"version\": {"]
23400 #[doc = " \"type\": \"integer\","]
23401 #[doc = " \"format\": \"uint32\","]
23402 #[doc = " \"minimum\": 0.0"]
23403 #[doc = " }"]
23404 #[doc = " }"]
23405 #[doc = "}"]
23406 #[doc = r" ```"]
23407 #[doc = r" </details>"]
23408 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23409 pub struct ShardLayoutV2 {
23410 pub boundary_accounts: ::std::vec::Vec<AccountId>,
23411 pub id_to_index_map: ::std::collections::HashMap<::std::string::String, u32>,
23412 pub index_to_id_map: ::std::collections::HashMap<::std::string::String, ShardId>,
23413 pub shard_ids: ::std::vec::Vec<ShardId>,
23414 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
23415 pub shards_parent_map:
23416 ::std::option::Option<::std::collections::HashMap<::std::string::String, ShardId>>,
23417 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
23418 pub shards_split_map: ::std::option::Option<
23419 ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<ShardId>>,
23420 >,
23421 pub version: u32,
23422 }
23423 impl ::std::convert::From<&ShardLayoutV2> for ShardLayoutV2 {
23424 fn from(value: &ShardLayoutV2) -> Self {
23425 value.clone()
23426 }
23427 }
23428 #[doc = "`ShardUId` is a unique representation for shards from different shard layouts.\n\n Comparing to `ShardId`, which is just an ordinal number ranging from 0 to NUM_SHARDS-1,\n `ShardUId` provides a way to unique identify shards when shard layouts may change across epochs.\n This is important because we store states indexed by shards in our database, so we need a\n way to unique identify shard even when shards change across epochs.\n Another difference between `ShardUId` and `ShardId` is that `ShardUId` should only exist in\n a node's internal state while `ShardId` can be exposed to outside APIs and used in protocol\n level information (for example, `ShardChunkHeader` contains `ShardId` instead of `ShardUId`)"]
23429 #[doc = r""]
23430 #[doc = r" <details><summary>JSON schema</summary>"]
23431 #[doc = r""]
23432 #[doc = r" ```json"]
23433 #[doc = "{"]
23434 #[doc = " \"description\": \"`ShardUId` is a unique representation for shards from different shard layouts.\\n\\n Comparing to `ShardId`, which is just an ordinal number ranging from 0 to NUM_SHARDS-1,\\n `ShardUId` provides a way to unique identify shards when shard layouts may change across epochs.\\n This is important because we store states indexed by shards in our database, so we need a\\n way to unique identify shard even when shards change across epochs.\\n Another difference between `ShardUId` and `ShardId` is that `ShardUId` should only exist in\\n a node's internal state while `ShardId` can be exposed to outside APIs and used in protocol\\n level information (for example, `ShardChunkHeader` contains `ShardId` instead of `ShardUId`)\","]
23435 #[doc = " \"type\": \"object\","]
23436 #[doc = " \"required\": ["]
23437 #[doc = " \"shard_id\","]
23438 #[doc = " \"version\""]
23439 #[doc = " ],"]
23440 #[doc = " \"properties\": {"]
23441 #[doc = " \"shard_id\": {"]
23442 #[doc = " \"type\": \"integer\","]
23443 #[doc = " \"format\": \"uint32\","]
23444 #[doc = " \"minimum\": 0.0"]
23445 #[doc = " },"]
23446 #[doc = " \"version\": {"]
23447 #[doc = " \"type\": \"integer\","]
23448 #[doc = " \"format\": \"uint32\","]
23449 #[doc = " \"minimum\": 0.0"]
23450 #[doc = " }"]
23451 #[doc = " }"]
23452 #[doc = "}"]
23453 #[doc = r" ```"]
23454 #[doc = r" </details>"]
23455 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23456 pub struct ShardUId {
23457 pub shard_id: u32,
23458 pub version: u32,
23459 }
23460 impl ::std::convert::From<&ShardUId> for ShardUId {
23461 fn from(value: &ShardUId) -> Self {
23462 value.clone()
23463 }
23464 }
23465 #[doc = "`Signature`"]
23466 #[doc = r""]
23467 #[doc = r" <details><summary>JSON schema</summary>"]
23468 #[doc = r""]
23469 #[doc = r" ```json"]
23470 #[doc = "{"]
23471 #[doc = " \"type\": \"string\""]
23472 #[doc = "}"]
23473 #[doc = r" ```"]
23474 #[doc = r" </details>"]
23475 #[derive(
23476 :: serde :: Deserialize,
23477 :: serde :: Serialize,
23478 Clone,
23479 Debug,
23480 Eq,
23481 Hash,
23482 Ord,
23483 PartialEq,
23484 PartialOrd,
23485 )]
23486 #[serde(transparent)]
23487 pub struct Signature(pub ::std::string::String);
23488 impl ::std::ops::Deref for Signature {
23489 type Target = ::std::string::String;
23490 fn deref(&self) -> &::std::string::String {
23491 &self.0
23492 }
23493 }
23494 impl ::std::convert::From<Signature> for ::std::string::String {
23495 fn from(value: Signature) -> Self {
23496 value.0
23497 }
23498 }
23499 impl ::std::convert::From<&Signature> for Signature {
23500 fn from(value: &Signature) -> Self {
23501 value.clone()
23502 }
23503 }
23504 impl ::std::convert::From<::std::string::String> for Signature {
23505 fn from(value: ::std::string::String) -> Self {
23506 Self(value)
23507 }
23508 }
23509 impl ::std::str::FromStr for Signature {
23510 type Err = ::std::convert::Infallible;
23511 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
23512 Ok(Self(value.to_string()))
23513 }
23514 }
23515 impl ::std::fmt::Display for Signature {
23516 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23517 self.0.fmt(f)
23518 }
23519 }
23520 #[doc = "`SignedDelegateAction`"]
23521 #[doc = r""]
23522 #[doc = r" <details><summary>JSON schema</summary>"]
23523 #[doc = r""]
23524 #[doc = r" ```json"]
23525 #[doc = "{"]
23526 #[doc = " \"type\": \"object\","]
23527 #[doc = " \"required\": ["]
23528 #[doc = " \"delegate_action\","]
23529 #[doc = " \"signature\""]
23530 #[doc = " ],"]
23531 #[doc = " \"properties\": {"]
23532 #[doc = " \"delegate_action\": {"]
23533 #[doc = " \"$ref\": \"#/components/schemas/DelegateAction\""]
23534 #[doc = " },"]
23535 #[doc = " \"signature\": {"]
23536 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
23537 #[doc = " }"]
23538 #[doc = " }"]
23539 #[doc = "}"]
23540 #[doc = r" ```"]
23541 #[doc = r" </details>"]
23542 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23543 pub struct SignedDelegateAction {
23544 pub delegate_action: DelegateAction,
23545 pub signature: Signature,
23546 }
23547 impl ::std::convert::From<&SignedDelegateAction> for SignedDelegateAction {
23548 fn from(value: &SignedDelegateAction) -> Self {
23549 value.clone()
23550 }
23551 }
23552 #[doc = "`SignedTransaction`"]
23553 #[doc = r""]
23554 #[doc = r" <details><summary>JSON schema</summary>"]
23555 #[doc = r""]
23556 #[doc = r" ```json"]
23557 #[doc = "{"]
23558 #[doc = " \"type\": \"string\","]
23559 #[doc = " \"format\": \"byte\""]
23560 #[doc = "}"]
23561 #[doc = r" ```"]
23562 #[doc = r" </details>"]
23563 #[derive(
23564 :: serde :: Deserialize,
23565 :: serde :: Serialize,
23566 Clone,
23567 Debug,
23568 Eq,
23569 Hash,
23570 Ord,
23571 PartialEq,
23572 PartialOrd,
23573 )]
23574 #[serde(transparent)]
23575 pub struct SignedTransaction(pub ::std::string::String);
23576 impl ::std::ops::Deref for SignedTransaction {
23577 type Target = ::std::string::String;
23578 fn deref(&self) -> &::std::string::String {
23579 &self.0
23580 }
23581 }
23582 impl ::std::convert::From<SignedTransaction> for ::std::string::String {
23583 fn from(value: SignedTransaction) -> Self {
23584 value.0
23585 }
23586 }
23587 impl ::std::convert::From<&SignedTransaction> for SignedTransaction {
23588 fn from(value: &SignedTransaction) -> Self {
23589 value.clone()
23590 }
23591 }
23592 impl ::std::convert::From<::std::string::String> for SignedTransaction {
23593 fn from(value: ::std::string::String) -> Self {
23594 Self(value)
23595 }
23596 }
23597 impl ::std::str::FromStr for SignedTransaction {
23598 type Err = ::std::convert::Infallible;
23599 fn from_str(value: &str) -> ::std::result::Result<Self, Self::Err> {
23600 Ok(Self(value.to_string()))
23601 }
23602 }
23603 impl ::std::fmt::Display for SignedTransaction {
23604 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23605 self.0.fmt(f)
23606 }
23607 }
23608 #[doc = "`SignedTransactionView`"]
23609 #[doc = r""]
23610 #[doc = r" <details><summary>JSON schema</summary>"]
23611 #[doc = r""]
23612 #[doc = r" ```json"]
23613 #[doc = "{"]
23614 #[doc = " \"type\": \"object\","]
23615 #[doc = " \"required\": ["]
23616 #[doc = " \"actions\","]
23617 #[doc = " \"hash\","]
23618 #[doc = " \"nonce\","]
23619 #[doc = " \"public_key\","]
23620 #[doc = " \"receiver_id\","]
23621 #[doc = " \"signature\","]
23622 #[doc = " \"signer_id\""]
23623 #[doc = " ],"]
23624 #[doc = " \"properties\": {"]
23625 #[doc = " \"actions\": {"]
23626 #[doc = " \"type\": \"array\","]
23627 #[doc = " \"items\": {"]
23628 #[doc = " \"$ref\": \"#/components/schemas/ActionView\""]
23629 #[doc = " }"]
23630 #[doc = " },"]
23631 #[doc = " \"hash\": {"]
23632 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
23633 #[doc = " },"]
23634 #[doc = " \"nonce\": {"]
23635 #[doc = " \"type\": \"integer\","]
23636 #[doc = " \"format\": \"uint64\","]
23637 #[doc = " \"minimum\": 0.0"]
23638 #[doc = " },"]
23639 #[doc = " \"priority_fee\": {"]
23640 #[doc = " \"default\": 0,"]
23641 #[doc = " \"type\": \"integer\","]
23642 #[doc = " \"format\": \"uint64\","]
23643 #[doc = " \"minimum\": 0.0"]
23644 #[doc = " },"]
23645 #[doc = " \"public_key\": {"]
23646 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
23647 #[doc = " },"]
23648 #[doc = " \"receiver_id\": {"]
23649 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
23650 #[doc = " },"]
23651 #[doc = " \"signature\": {"]
23652 #[doc = " \"$ref\": \"#/components/schemas/Signature\""]
23653 #[doc = " },"]
23654 #[doc = " \"signer_id\": {"]
23655 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
23656 #[doc = " }"]
23657 #[doc = " }"]
23658 #[doc = "}"]
23659 #[doc = r" ```"]
23660 #[doc = r" </details>"]
23661 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23662 pub struct SignedTransactionView {
23663 pub actions: ::std::vec::Vec<ActionView>,
23664 pub hash: CryptoHash,
23665 pub nonce: u64,
23666 #[serde(default)]
23667 pub priority_fee: u64,
23668 pub public_key: PublicKey,
23669 pub receiver_id: AccountId,
23670 pub signature: Signature,
23671 pub signer_id: AccountId,
23672 }
23673 impl ::std::convert::From<&SignedTransactionView> for SignedTransactionView {
23674 fn from(value: &SignedTransactionView) -> Self {
23675 value.clone()
23676 }
23677 }
23678 #[doc = "`SlashedValidator`"]
23679 #[doc = r""]
23680 #[doc = r" <details><summary>JSON schema</summary>"]
23681 #[doc = r""]
23682 #[doc = r" ```json"]
23683 #[doc = "{"]
23684 #[doc = " \"type\": \"object\","]
23685 #[doc = " \"required\": ["]
23686 #[doc = " \"account_id\","]
23687 #[doc = " \"is_double_sign\""]
23688 #[doc = " ],"]
23689 #[doc = " \"properties\": {"]
23690 #[doc = " \"account_id\": {"]
23691 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
23692 #[doc = " },"]
23693 #[doc = " \"is_double_sign\": {"]
23694 #[doc = " \"type\": \"boolean\""]
23695 #[doc = " }"]
23696 #[doc = " }"]
23697 #[doc = "}"]
23698 #[doc = r" ```"]
23699 #[doc = r" </details>"]
23700 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23701 pub struct SlashedValidator {
23702 pub account_id: AccountId,
23703 pub is_double_sign: bool,
23704 }
23705 impl ::std::convert::From<&SlashedValidator> for SlashedValidator {
23706 fn from(value: &SlashedValidator) -> Self {
23707 value.clone()
23708 }
23709 }
23710 #[doc = "An action which stakes signer_id tokens and setup's validator public key"]
23711 #[doc = r""]
23712 #[doc = r" <details><summary>JSON schema</summary>"]
23713 #[doc = r""]
23714 #[doc = r" ```json"]
23715 #[doc = "{"]
23716 #[doc = " \"description\": \"An action which stakes signer_id tokens and setup's validator public key\","]
23717 #[doc = " \"type\": \"object\","]
23718 #[doc = " \"required\": ["]
23719 #[doc = " \"public_key\","]
23720 #[doc = " \"stake\""]
23721 #[doc = " ],"]
23722 #[doc = " \"properties\": {"]
23723 #[doc = " \"public_key\": {"]
23724 #[doc = " \"description\": \"Validator key which will be used to sign transactions on behalf of signer_id\","]
23725 #[doc = " \"allOf\": ["]
23726 #[doc = " {"]
23727 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
23728 #[doc = " }"]
23729 #[doc = " ]"]
23730 #[doc = " },"]
23731 #[doc = " \"stake\": {"]
23732 #[doc = " \"description\": \"Amount of tokens to stake.\","]
23733 #[doc = " \"type\": \"string\""]
23734 #[doc = " }"]
23735 #[doc = " }"]
23736 #[doc = "}"]
23737 #[doc = r" ```"]
23738 #[doc = r" </details>"]
23739 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23740 pub struct StakeAction {
23741 #[doc = "Validator key which will be used to sign transactions on behalf of signer_id"]
23742 pub public_key: PublicKey,
23743 #[doc = "Amount of tokens to stake."]
23744 pub stake: ::std::string::String,
23745 }
23746 impl ::std::convert::From<&StakeAction> for StakeAction {
23747 fn from(value: &StakeAction) -> Self {
23748 value.clone()
23749 }
23750 }
23751 #[doc = "See crate::types::StateChangeCause for details."]
23752 #[doc = r""]
23753 #[doc = r" <details><summary>JSON schema</summary>"]
23754 #[doc = r""]
23755 #[doc = r" ```json"]
23756 #[doc = "{"]
23757 #[doc = " \"description\": \"See crate::types::StateChangeCause for details.\","]
23758 #[doc = " \"oneOf\": ["]
23759 #[doc = " {"]
23760 #[doc = " \"type\": \"object\","]
23761 #[doc = " \"required\": ["]
23762 #[doc = " \"type\""]
23763 #[doc = " ],"]
23764 #[doc = " \"properties\": {"]
23765 #[doc = " \"type\": {"]
23766 #[doc = " \"type\": \"string\","]
23767 #[doc = " \"enum\": ["]
23768 #[doc = " \"not_writable_to_disk\""]
23769 #[doc = " ]"]
23770 #[doc = " }"]
23771 #[doc = " }"]
23772 #[doc = " },"]
23773 #[doc = " {"]
23774 #[doc = " \"type\": \"object\","]
23775 #[doc = " \"required\": ["]
23776 #[doc = " \"type\""]
23777 #[doc = " ],"]
23778 #[doc = " \"properties\": {"]
23779 #[doc = " \"type\": {"]
23780 #[doc = " \"type\": \"string\","]
23781 #[doc = " \"enum\": ["]
23782 #[doc = " \"initial_state\""]
23783 #[doc = " ]"]
23784 #[doc = " }"]
23785 #[doc = " }"]
23786 #[doc = " },"]
23787 #[doc = " {"]
23788 #[doc = " \"type\": \"object\","]
23789 #[doc = " \"required\": ["]
23790 #[doc = " \"tx_hash\","]
23791 #[doc = " \"type\""]
23792 #[doc = " ],"]
23793 #[doc = " \"properties\": {"]
23794 #[doc = " \"tx_hash\": {"]
23795 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
23796 #[doc = " },"]
23797 #[doc = " \"type\": {"]
23798 #[doc = " \"type\": \"string\","]
23799 #[doc = " \"enum\": ["]
23800 #[doc = " \"transaction_processing\""]
23801 #[doc = " ]"]
23802 #[doc = " }"]
23803 #[doc = " }"]
23804 #[doc = " },"]
23805 #[doc = " {"]
23806 #[doc = " \"type\": \"object\","]
23807 #[doc = " \"required\": ["]
23808 #[doc = " \"receipt_hash\","]
23809 #[doc = " \"type\""]
23810 #[doc = " ],"]
23811 #[doc = " \"properties\": {"]
23812 #[doc = " \"receipt_hash\": {"]
23813 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
23814 #[doc = " },"]
23815 #[doc = " \"type\": {"]
23816 #[doc = " \"type\": \"string\","]
23817 #[doc = " \"enum\": ["]
23818 #[doc = " \"action_receipt_processing_started\""]
23819 #[doc = " ]"]
23820 #[doc = " }"]
23821 #[doc = " }"]
23822 #[doc = " },"]
23823 #[doc = " {"]
23824 #[doc = " \"type\": \"object\","]
23825 #[doc = " \"required\": ["]
23826 #[doc = " \"receipt_hash\","]
23827 #[doc = " \"type\""]
23828 #[doc = " ],"]
23829 #[doc = " \"properties\": {"]
23830 #[doc = " \"receipt_hash\": {"]
23831 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
23832 #[doc = " },"]
23833 #[doc = " \"type\": {"]
23834 #[doc = " \"type\": \"string\","]
23835 #[doc = " \"enum\": ["]
23836 #[doc = " \"action_receipt_gas_reward\""]
23837 #[doc = " ]"]
23838 #[doc = " }"]
23839 #[doc = " }"]
23840 #[doc = " },"]
23841 #[doc = " {"]
23842 #[doc = " \"type\": \"object\","]
23843 #[doc = " \"required\": ["]
23844 #[doc = " \"receipt_hash\","]
23845 #[doc = " \"type\""]
23846 #[doc = " ],"]
23847 #[doc = " \"properties\": {"]
23848 #[doc = " \"receipt_hash\": {"]
23849 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
23850 #[doc = " },"]
23851 #[doc = " \"type\": {"]
23852 #[doc = " \"type\": \"string\","]
23853 #[doc = " \"enum\": ["]
23854 #[doc = " \"receipt_processing\""]
23855 #[doc = " ]"]
23856 #[doc = " }"]
23857 #[doc = " }"]
23858 #[doc = " },"]
23859 #[doc = " {"]
23860 #[doc = " \"type\": \"object\","]
23861 #[doc = " \"required\": ["]
23862 #[doc = " \"receipt_hash\","]
23863 #[doc = " \"type\""]
23864 #[doc = " ],"]
23865 #[doc = " \"properties\": {"]
23866 #[doc = " \"receipt_hash\": {"]
23867 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
23868 #[doc = " },"]
23869 #[doc = " \"type\": {"]
23870 #[doc = " \"type\": \"string\","]
23871 #[doc = " \"enum\": ["]
23872 #[doc = " \"postponed_receipt\""]
23873 #[doc = " ]"]
23874 #[doc = " }"]
23875 #[doc = " }"]
23876 #[doc = " },"]
23877 #[doc = " {"]
23878 #[doc = " \"type\": \"object\","]
23879 #[doc = " \"required\": ["]
23880 #[doc = " \"type\""]
23881 #[doc = " ],"]
23882 #[doc = " \"properties\": {"]
23883 #[doc = " \"type\": {"]
23884 #[doc = " \"type\": \"string\","]
23885 #[doc = " \"enum\": ["]
23886 #[doc = " \"updated_delayed_receipts\""]
23887 #[doc = " ]"]
23888 #[doc = " }"]
23889 #[doc = " }"]
23890 #[doc = " },"]
23891 #[doc = " {"]
23892 #[doc = " \"type\": \"object\","]
23893 #[doc = " \"required\": ["]
23894 #[doc = " \"type\""]
23895 #[doc = " ],"]
23896 #[doc = " \"properties\": {"]
23897 #[doc = " \"type\": {"]
23898 #[doc = " \"type\": \"string\","]
23899 #[doc = " \"enum\": ["]
23900 #[doc = " \"validator_accounts_update\""]
23901 #[doc = " ]"]
23902 #[doc = " }"]
23903 #[doc = " }"]
23904 #[doc = " },"]
23905 #[doc = " {"]
23906 #[doc = " \"type\": \"object\","]
23907 #[doc = " \"required\": ["]
23908 #[doc = " \"type\""]
23909 #[doc = " ],"]
23910 #[doc = " \"properties\": {"]
23911 #[doc = " \"type\": {"]
23912 #[doc = " \"type\": \"string\","]
23913 #[doc = " \"enum\": ["]
23914 #[doc = " \"migration\""]
23915 #[doc = " ]"]
23916 #[doc = " }"]
23917 #[doc = " }"]
23918 #[doc = " },"]
23919 #[doc = " {"]
23920 #[doc = " \"type\": \"object\","]
23921 #[doc = " \"required\": ["]
23922 #[doc = " \"type\""]
23923 #[doc = " ],"]
23924 #[doc = " \"properties\": {"]
23925 #[doc = " \"type\": {"]
23926 #[doc = " \"type\": \"string\","]
23927 #[doc = " \"enum\": ["]
23928 #[doc = " \"bandwidth_scheduler_state_update\""]
23929 #[doc = " ]"]
23930 #[doc = " }"]
23931 #[doc = " }"]
23932 #[doc = " }"]
23933 #[doc = " ]"]
23934 #[doc = "}"]
23935 #[doc = r" ```"]
23936 #[doc = r" </details>"]
23937 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
23938 #[serde(tag = "type")]
23939 pub enum StateChangeCauseView {
23940 #[serde(rename = "not_writable_to_disk")]
23941 NotWritableToDisk,
23942 #[serde(rename = "initial_state")]
23943 InitialState,
23944 #[serde(rename = "transaction_processing")]
23945 TransactionProcessing { tx_hash: CryptoHash },
23946 #[serde(rename = "action_receipt_processing_started")]
23947 ActionReceiptProcessingStarted { receipt_hash: CryptoHash },
23948 #[serde(rename = "action_receipt_gas_reward")]
23949 ActionReceiptGasReward { receipt_hash: CryptoHash },
23950 #[serde(rename = "receipt_processing")]
23951 ReceiptProcessing { receipt_hash: CryptoHash },
23952 #[serde(rename = "postponed_receipt")]
23953 PostponedReceipt { receipt_hash: CryptoHash },
23954 #[serde(rename = "updated_delayed_receipts")]
23955 UpdatedDelayedReceipts,
23956 #[serde(rename = "validator_accounts_update")]
23957 ValidatorAccountsUpdate,
23958 #[serde(rename = "migration")]
23959 Migration,
23960 #[serde(rename = "bandwidth_scheduler_state_update")]
23961 BandwidthSchedulerStateUpdate,
23962 }
23963 impl ::std::convert::From<&Self> for StateChangeCauseView {
23964 fn from(value: &StateChangeCauseView) -> Self {
23965 value.clone()
23966 }
23967 }
23968 #[doc = "It is a [serializable view] of [`StateChangeKind`].\n\n [serializable view]: ./index.html\n [`StateChangeKind`]: ../types/struct.StateChangeKind.html"]
23969 #[doc = r""]
23970 #[doc = r" <details><summary>JSON schema</summary>"]
23971 #[doc = r""]
23972 #[doc = r" ```json"]
23973 #[doc = "{"]
23974 #[doc = " \"description\": \"It is a [serializable view] of [`StateChangeKind`].\\n\\n [serializable view]: ./index.html\\n [`StateChangeKind`]: ../types/struct.StateChangeKind.html\","]
23975 #[doc = " \"oneOf\": ["]
23976 #[doc = " {"]
23977 #[doc = " \"type\": \"object\","]
23978 #[doc = " \"required\": ["]
23979 #[doc = " \"account_id\","]
23980 #[doc = " \"type\""]
23981 #[doc = " ],"]
23982 #[doc = " \"properties\": {"]
23983 #[doc = " \"account_id\": {"]
23984 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
23985 #[doc = " },"]
23986 #[doc = " \"type\": {"]
23987 #[doc = " \"type\": \"string\","]
23988 #[doc = " \"enum\": ["]
23989 #[doc = " \"account_touched\""]
23990 #[doc = " ]"]
23991 #[doc = " }"]
23992 #[doc = " }"]
23993 #[doc = " },"]
23994 #[doc = " {"]
23995 #[doc = " \"type\": \"object\","]
23996 #[doc = " \"required\": ["]
23997 #[doc = " \"account_id\","]
23998 #[doc = " \"type\""]
23999 #[doc = " ],"]
24000 #[doc = " \"properties\": {"]
24001 #[doc = " \"account_id\": {"]
24002 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24003 #[doc = " },"]
24004 #[doc = " \"type\": {"]
24005 #[doc = " \"type\": \"string\","]
24006 #[doc = " \"enum\": ["]
24007 #[doc = " \"access_key_touched\""]
24008 #[doc = " ]"]
24009 #[doc = " }"]
24010 #[doc = " }"]
24011 #[doc = " },"]
24012 #[doc = " {"]
24013 #[doc = " \"type\": \"object\","]
24014 #[doc = " \"required\": ["]
24015 #[doc = " \"account_id\","]
24016 #[doc = " \"type\""]
24017 #[doc = " ],"]
24018 #[doc = " \"properties\": {"]
24019 #[doc = " \"account_id\": {"]
24020 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24021 #[doc = " },"]
24022 #[doc = " \"type\": {"]
24023 #[doc = " \"type\": \"string\","]
24024 #[doc = " \"enum\": ["]
24025 #[doc = " \"data_touched\""]
24026 #[doc = " ]"]
24027 #[doc = " }"]
24028 #[doc = " }"]
24029 #[doc = " },"]
24030 #[doc = " {"]
24031 #[doc = " \"type\": \"object\","]
24032 #[doc = " \"required\": ["]
24033 #[doc = " \"account_id\","]
24034 #[doc = " \"type\""]
24035 #[doc = " ],"]
24036 #[doc = " \"properties\": {"]
24037 #[doc = " \"account_id\": {"]
24038 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24039 #[doc = " },"]
24040 #[doc = " \"type\": {"]
24041 #[doc = " \"type\": \"string\","]
24042 #[doc = " \"enum\": ["]
24043 #[doc = " \"contract_code_touched\""]
24044 #[doc = " ]"]
24045 #[doc = " }"]
24046 #[doc = " }"]
24047 #[doc = " }"]
24048 #[doc = " ]"]
24049 #[doc = "}"]
24050 #[doc = r" ```"]
24051 #[doc = r" </details>"]
24052 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24053 #[serde(tag = "type", content = "account_id")]
24054 pub enum StateChangeKindView {
24055 #[serde(rename = "account_touched")]
24056 AccountTouched(AccountId),
24057 #[serde(rename = "access_key_touched")]
24058 AccessKeyTouched(AccountId),
24059 #[serde(rename = "data_touched")]
24060 DataTouched(AccountId),
24061 #[serde(rename = "contract_code_touched")]
24062 ContractCodeTouched(AccountId),
24063 }
24064 impl ::std::convert::From<&Self> for StateChangeKindView {
24065 fn from(value: &StateChangeKindView) -> Self {
24066 value.clone()
24067 }
24068 }
24069 #[doc = "`StateChangeValueViewContent`"]
24070 #[doc = r""]
24071 #[doc = r" <details><summary>JSON schema</summary>"]
24072 #[doc = r""]
24073 #[doc = r" ```json"]
24074 #[doc = "{"]
24075 #[doc = " \"anyOf\": ["]
24076 #[doc = " {"]
24077 #[doc = " \"description\": \"A view of the account\","]
24078 #[doc = " \"type\": \"object\","]
24079 #[doc = " \"required\": ["]
24080 #[doc = " \"account_id\","]
24081 #[doc = " \"amount\","]
24082 #[doc = " \"code_hash\","]
24083 #[doc = " \"locked\","]
24084 #[doc = " \"storage_usage\""]
24085 #[doc = " ],"]
24086 #[doc = " \"properties\": {"]
24087 #[doc = " \"account_id\": {"]
24088 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24089 #[doc = " },"]
24090 #[doc = " \"amount\": {"]
24091 #[doc = " \"type\": \"string\""]
24092 #[doc = " },"]
24093 #[doc = " \"code_hash\": {"]
24094 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24095 #[doc = " },"]
24096 #[doc = " \"global_contract_account_id\": {"]
24097 #[doc = " \"oneOf\": ["]
24098 #[doc = " {"]
24099 #[doc = " \"type\": \"null\""]
24100 #[doc = " },"]
24101 #[doc = " {"]
24102 #[doc = " \"allOf\": ["]
24103 #[doc = " {"]
24104 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24105 #[doc = " }"]
24106 #[doc = " ]"]
24107 #[doc = " }"]
24108 #[doc = " ]"]
24109 #[doc = " },"]
24110 #[doc = " \"global_contract_hash\": {"]
24111 #[doc = " \"oneOf\": ["]
24112 #[doc = " {"]
24113 #[doc = " \"type\": \"null\""]
24114 #[doc = " },"]
24115 #[doc = " {"]
24116 #[doc = " \"allOf\": ["]
24117 #[doc = " {"]
24118 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24119 #[doc = " }"]
24120 #[doc = " ]"]
24121 #[doc = " }"]
24122 #[doc = " ]"]
24123 #[doc = " },"]
24124 #[doc = " \"locked\": {"]
24125 #[doc = " \"type\": \"string\""]
24126 #[doc = " },"]
24127 #[doc = " \"storage_paid_at\": {"]
24128 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
24129 #[doc = " \"default\": 0,"]
24130 #[doc = " \"type\": \"integer\","]
24131 #[doc = " \"format\": \"uint64\","]
24132 #[doc = " \"minimum\": 0.0"]
24133 #[doc = " },"]
24134 #[doc = " \"storage_usage\": {"]
24135 #[doc = " \"type\": \"integer\","]
24136 #[doc = " \"format\": \"uint64\","]
24137 #[doc = " \"minimum\": 0.0"]
24138 #[doc = " }"]
24139 #[doc = " }"]
24140 #[doc = " },"]
24141 #[doc = " {"]
24142 #[doc = " \"type\": \"object\","]
24143 #[doc = " \"required\": ["]
24144 #[doc = " \"account_id\""]
24145 #[doc = " ],"]
24146 #[doc = " \"properties\": {"]
24147 #[doc = " \"account_id\": {"]
24148 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24149 #[doc = " }"]
24150 #[doc = " }"]
24151 #[doc = " },"]
24152 #[doc = " {"]
24153 #[doc = " \"type\": \"object\","]
24154 #[doc = " \"required\": ["]
24155 #[doc = " \"access_key\","]
24156 #[doc = " \"account_id\","]
24157 #[doc = " \"public_key\""]
24158 #[doc = " ],"]
24159 #[doc = " \"properties\": {"]
24160 #[doc = " \"access_key\": {"]
24161 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyView\""]
24162 #[doc = " },"]
24163 #[doc = " \"account_id\": {"]
24164 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24165 #[doc = " },"]
24166 #[doc = " \"public_key\": {"]
24167 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
24168 #[doc = " }"]
24169 #[doc = " }"]
24170 #[doc = " },"]
24171 #[doc = " {"]
24172 #[doc = " \"type\": \"object\","]
24173 #[doc = " \"required\": ["]
24174 #[doc = " \"account_id\","]
24175 #[doc = " \"public_key\""]
24176 #[doc = " ],"]
24177 #[doc = " \"properties\": {"]
24178 #[doc = " \"account_id\": {"]
24179 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24180 #[doc = " },"]
24181 #[doc = " \"public_key\": {"]
24182 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
24183 #[doc = " }"]
24184 #[doc = " }"]
24185 #[doc = " },"]
24186 #[doc = " {"]
24187 #[doc = " \"type\": \"object\","]
24188 #[doc = " \"required\": ["]
24189 #[doc = " \"account_id\","]
24190 #[doc = " \"key_base64\","]
24191 #[doc = " \"value_base64\""]
24192 #[doc = " ],"]
24193 #[doc = " \"properties\": {"]
24194 #[doc = " \"account_id\": {"]
24195 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24196 #[doc = " },"]
24197 #[doc = " \"key_base64\": {"]
24198 #[doc = " \"type\": \"string\","]
24199 #[doc = " \"format\": \"bytes\""]
24200 #[doc = " },"]
24201 #[doc = " \"value_base64\": {"]
24202 #[doc = " \"type\": \"string\","]
24203 #[doc = " \"format\": \"bytes\""]
24204 #[doc = " }"]
24205 #[doc = " }"]
24206 #[doc = " },"]
24207 #[doc = " {"]
24208 #[doc = " \"type\": \"object\","]
24209 #[doc = " \"required\": ["]
24210 #[doc = " \"account_id\","]
24211 #[doc = " \"key_base64\""]
24212 #[doc = " ],"]
24213 #[doc = " \"properties\": {"]
24214 #[doc = " \"account_id\": {"]
24215 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24216 #[doc = " },"]
24217 #[doc = " \"key_base64\": {"]
24218 #[doc = " \"type\": \"string\","]
24219 #[doc = " \"format\": \"bytes\""]
24220 #[doc = " }"]
24221 #[doc = " }"]
24222 #[doc = " },"]
24223 #[doc = " {"]
24224 #[doc = " \"type\": \"object\","]
24225 #[doc = " \"required\": ["]
24226 #[doc = " \"account_id\","]
24227 #[doc = " \"code_base64\""]
24228 #[doc = " ],"]
24229 #[doc = " \"properties\": {"]
24230 #[doc = " \"account_id\": {"]
24231 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24232 #[doc = " },"]
24233 #[doc = " \"code_base64\": {"]
24234 #[doc = " \"type\": \"string\""]
24235 #[doc = " }"]
24236 #[doc = " }"]
24237 #[doc = " },"]
24238 #[doc = " {"]
24239 #[doc = " \"type\": \"object\","]
24240 #[doc = " \"required\": ["]
24241 #[doc = " \"account_id\""]
24242 #[doc = " ],"]
24243 #[doc = " \"properties\": {"]
24244 #[doc = " \"account_id\": {"]
24245 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24246 #[doc = " }"]
24247 #[doc = " }"]
24248 #[doc = " }"]
24249 #[doc = " ]"]
24250 #[doc = "}"]
24251 #[doc = r" ```"]
24252 #[doc = r" </details>"]
24253 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24254 pub struct StateChangeValueViewContent {
24255 #[serde(
24256 flatten,
24257 default,
24258 skip_serializing_if = "::std::option::Option::is_none"
24259 )]
24260 pub subtype_0: ::std::option::Option<StateChangeValueViewContentSubtype0>,
24261 #[serde(
24262 flatten,
24263 default,
24264 skip_serializing_if = "::std::option::Option::is_none"
24265 )]
24266 pub subtype_1: ::std::option::Option<StateChangeValueViewContentSubtype1>,
24267 #[serde(
24268 flatten,
24269 default,
24270 skip_serializing_if = "::std::option::Option::is_none"
24271 )]
24272 pub subtype_2: ::std::option::Option<StateChangeValueViewContentSubtype2>,
24273 #[serde(
24274 flatten,
24275 default,
24276 skip_serializing_if = "::std::option::Option::is_none"
24277 )]
24278 pub subtype_3: ::std::option::Option<StateChangeValueViewContentSubtype3>,
24279 #[serde(
24280 flatten,
24281 default,
24282 skip_serializing_if = "::std::option::Option::is_none"
24283 )]
24284 pub subtype_4: ::std::option::Option<StateChangeValueViewContentSubtype4>,
24285 #[serde(
24286 flatten,
24287 default,
24288 skip_serializing_if = "::std::option::Option::is_none"
24289 )]
24290 pub subtype_5: ::std::option::Option<StateChangeValueViewContentSubtype5>,
24291 #[serde(
24292 flatten,
24293 default,
24294 skip_serializing_if = "::std::option::Option::is_none"
24295 )]
24296 pub subtype_6: ::std::option::Option<StateChangeValueViewContentSubtype6>,
24297 #[serde(
24298 flatten,
24299 default,
24300 skip_serializing_if = "::std::option::Option::is_none"
24301 )]
24302 pub subtype_7: ::std::option::Option<StateChangeValueViewContentSubtype7>,
24303 }
24304 impl ::std::convert::From<&StateChangeValueViewContent> for StateChangeValueViewContent {
24305 fn from(value: &StateChangeValueViewContent) -> Self {
24306 value.clone()
24307 }
24308 }
24309 impl ::std::default::Default for StateChangeValueViewContent {
24310 fn default() -> Self {
24311 Self {
24312 subtype_0: Default::default(),
24313 subtype_1: Default::default(),
24314 subtype_2: Default::default(),
24315 subtype_3: Default::default(),
24316 subtype_4: Default::default(),
24317 subtype_5: Default::default(),
24318 subtype_6: Default::default(),
24319 subtype_7: Default::default(),
24320 }
24321 }
24322 }
24323 #[doc = "A view of the account"]
24324 #[doc = r""]
24325 #[doc = r" <details><summary>JSON schema</summary>"]
24326 #[doc = r""]
24327 #[doc = r" ```json"]
24328 #[doc = "{"]
24329 #[doc = " \"description\": \"A view of the account\","]
24330 #[doc = " \"type\": \"object\","]
24331 #[doc = " \"required\": ["]
24332 #[doc = " \"account_id\","]
24333 #[doc = " \"amount\","]
24334 #[doc = " \"code_hash\","]
24335 #[doc = " \"locked\","]
24336 #[doc = " \"storage_usage\""]
24337 #[doc = " ],"]
24338 #[doc = " \"properties\": {"]
24339 #[doc = " \"account_id\": {"]
24340 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24341 #[doc = " },"]
24342 #[doc = " \"amount\": {"]
24343 #[doc = " \"type\": \"string\""]
24344 #[doc = " },"]
24345 #[doc = " \"code_hash\": {"]
24346 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24347 #[doc = " },"]
24348 #[doc = " \"global_contract_account_id\": {"]
24349 #[doc = " \"oneOf\": ["]
24350 #[doc = " {"]
24351 #[doc = " \"type\": \"null\""]
24352 #[doc = " },"]
24353 #[doc = " {"]
24354 #[doc = " \"allOf\": ["]
24355 #[doc = " {"]
24356 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24357 #[doc = " }"]
24358 #[doc = " ]"]
24359 #[doc = " }"]
24360 #[doc = " ]"]
24361 #[doc = " },"]
24362 #[doc = " \"global_contract_hash\": {"]
24363 #[doc = " \"oneOf\": ["]
24364 #[doc = " {"]
24365 #[doc = " \"type\": \"null\""]
24366 #[doc = " },"]
24367 #[doc = " {"]
24368 #[doc = " \"allOf\": ["]
24369 #[doc = " {"]
24370 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24371 #[doc = " }"]
24372 #[doc = " ]"]
24373 #[doc = " }"]
24374 #[doc = " ]"]
24375 #[doc = " },"]
24376 #[doc = " \"locked\": {"]
24377 #[doc = " \"type\": \"string\""]
24378 #[doc = " },"]
24379 #[doc = " \"storage_paid_at\": {"]
24380 #[doc = " \"description\": \"TODO(2271): deprecated.\","]
24381 #[doc = " \"default\": 0,"]
24382 #[doc = " \"type\": \"integer\","]
24383 #[doc = " \"format\": \"uint64\","]
24384 #[doc = " \"minimum\": 0.0"]
24385 #[doc = " },"]
24386 #[doc = " \"storage_usage\": {"]
24387 #[doc = " \"type\": \"integer\","]
24388 #[doc = " \"format\": \"uint64\","]
24389 #[doc = " \"minimum\": 0.0"]
24390 #[doc = " }"]
24391 #[doc = " }"]
24392 #[doc = "}"]
24393 #[doc = r" ```"]
24394 #[doc = r" </details>"]
24395 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24396 pub struct StateChangeValueViewContentSubtype0 {
24397 pub account_id: AccountId,
24398 pub amount: ::std::string::String,
24399 pub code_hash: CryptoHash,
24400 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24401 pub global_contract_account_id: ::std::option::Option<AccountId>,
24402 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24403 pub global_contract_hash: ::std::option::Option<CryptoHash>,
24404 pub locked: ::std::string::String,
24405 #[doc = "TODO(2271): deprecated."]
24406 #[serde(default)]
24407 pub storage_paid_at: u64,
24408 pub storage_usage: u64,
24409 }
24410 impl ::std::convert::From<&StateChangeValueViewContentSubtype0>
24411 for StateChangeValueViewContentSubtype0
24412 {
24413 fn from(value: &StateChangeValueViewContentSubtype0) -> Self {
24414 value.clone()
24415 }
24416 }
24417 #[doc = "`StateChangeValueViewContentSubtype1`"]
24418 #[doc = r""]
24419 #[doc = r" <details><summary>JSON schema</summary>"]
24420 #[doc = r""]
24421 #[doc = r" ```json"]
24422 #[doc = "{"]
24423 #[doc = " \"type\": \"object\","]
24424 #[doc = " \"required\": ["]
24425 #[doc = " \"account_id\""]
24426 #[doc = " ],"]
24427 #[doc = " \"properties\": {"]
24428 #[doc = " \"account_id\": {"]
24429 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24430 #[doc = " }"]
24431 #[doc = " }"]
24432 #[doc = "}"]
24433 #[doc = r" ```"]
24434 #[doc = r" </details>"]
24435 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24436 pub struct StateChangeValueViewContentSubtype1 {
24437 pub account_id: AccountId,
24438 }
24439 impl ::std::convert::From<&StateChangeValueViewContentSubtype1>
24440 for StateChangeValueViewContentSubtype1
24441 {
24442 fn from(value: &StateChangeValueViewContentSubtype1) -> Self {
24443 value.clone()
24444 }
24445 }
24446 #[doc = "`StateChangeValueViewContentSubtype2`"]
24447 #[doc = r""]
24448 #[doc = r" <details><summary>JSON schema</summary>"]
24449 #[doc = r""]
24450 #[doc = r" ```json"]
24451 #[doc = "{"]
24452 #[doc = " \"type\": \"object\","]
24453 #[doc = " \"required\": ["]
24454 #[doc = " \"access_key\","]
24455 #[doc = " \"account_id\","]
24456 #[doc = " \"public_key\""]
24457 #[doc = " ],"]
24458 #[doc = " \"properties\": {"]
24459 #[doc = " \"access_key\": {"]
24460 #[doc = " \"$ref\": \"#/components/schemas/AccessKeyView\""]
24461 #[doc = " },"]
24462 #[doc = " \"account_id\": {"]
24463 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24464 #[doc = " },"]
24465 #[doc = " \"public_key\": {"]
24466 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
24467 #[doc = " }"]
24468 #[doc = " }"]
24469 #[doc = "}"]
24470 #[doc = r" ```"]
24471 #[doc = r" </details>"]
24472 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24473 pub struct StateChangeValueViewContentSubtype2 {
24474 pub access_key: AccessKeyView,
24475 pub account_id: AccountId,
24476 pub public_key: PublicKey,
24477 }
24478 impl ::std::convert::From<&StateChangeValueViewContentSubtype2>
24479 for StateChangeValueViewContentSubtype2
24480 {
24481 fn from(value: &StateChangeValueViewContentSubtype2) -> Self {
24482 value.clone()
24483 }
24484 }
24485 #[doc = "`StateChangeValueViewContentSubtype3`"]
24486 #[doc = r""]
24487 #[doc = r" <details><summary>JSON schema</summary>"]
24488 #[doc = r""]
24489 #[doc = r" ```json"]
24490 #[doc = "{"]
24491 #[doc = " \"type\": \"object\","]
24492 #[doc = " \"required\": ["]
24493 #[doc = " \"account_id\","]
24494 #[doc = " \"public_key\""]
24495 #[doc = " ],"]
24496 #[doc = " \"properties\": {"]
24497 #[doc = " \"account_id\": {"]
24498 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24499 #[doc = " },"]
24500 #[doc = " \"public_key\": {"]
24501 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
24502 #[doc = " }"]
24503 #[doc = " }"]
24504 #[doc = "}"]
24505 #[doc = r" ```"]
24506 #[doc = r" </details>"]
24507 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24508 pub struct StateChangeValueViewContentSubtype3 {
24509 pub account_id: AccountId,
24510 pub public_key: PublicKey,
24511 }
24512 impl ::std::convert::From<&StateChangeValueViewContentSubtype3>
24513 for StateChangeValueViewContentSubtype3
24514 {
24515 fn from(value: &StateChangeValueViewContentSubtype3) -> Self {
24516 value.clone()
24517 }
24518 }
24519 #[doc = "`StateChangeValueViewContentSubtype4`"]
24520 #[doc = r""]
24521 #[doc = r" <details><summary>JSON schema</summary>"]
24522 #[doc = r""]
24523 #[doc = r" ```json"]
24524 #[doc = "{"]
24525 #[doc = " \"type\": \"object\","]
24526 #[doc = " \"required\": ["]
24527 #[doc = " \"account_id\","]
24528 #[doc = " \"key_base64\","]
24529 #[doc = " \"value_base64\""]
24530 #[doc = " ],"]
24531 #[doc = " \"properties\": {"]
24532 #[doc = " \"account_id\": {"]
24533 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24534 #[doc = " },"]
24535 #[doc = " \"key_base64\": {"]
24536 #[doc = " \"type\": \"string\","]
24537 #[doc = " \"format\": \"bytes\""]
24538 #[doc = " },"]
24539 #[doc = " \"value_base64\": {"]
24540 #[doc = " \"type\": \"string\","]
24541 #[doc = " \"format\": \"bytes\""]
24542 #[doc = " }"]
24543 #[doc = " }"]
24544 #[doc = "}"]
24545 #[doc = r" ```"]
24546 #[doc = r" </details>"]
24547 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24548 pub struct StateChangeValueViewContentSubtype4 {
24549 pub account_id: AccountId,
24550 pub key_base64: ::std::string::String,
24551 pub value_base64: ::std::string::String,
24552 }
24553 impl ::std::convert::From<&StateChangeValueViewContentSubtype4>
24554 for StateChangeValueViewContentSubtype4
24555 {
24556 fn from(value: &StateChangeValueViewContentSubtype4) -> Self {
24557 value.clone()
24558 }
24559 }
24560 #[doc = "`StateChangeValueViewContentSubtype5`"]
24561 #[doc = r""]
24562 #[doc = r" <details><summary>JSON schema</summary>"]
24563 #[doc = r""]
24564 #[doc = r" ```json"]
24565 #[doc = "{"]
24566 #[doc = " \"type\": \"object\","]
24567 #[doc = " \"required\": ["]
24568 #[doc = " \"account_id\","]
24569 #[doc = " \"key_base64\""]
24570 #[doc = " ],"]
24571 #[doc = " \"properties\": {"]
24572 #[doc = " \"account_id\": {"]
24573 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24574 #[doc = " },"]
24575 #[doc = " \"key_base64\": {"]
24576 #[doc = " \"type\": \"string\","]
24577 #[doc = " \"format\": \"bytes\""]
24578 #[doc = " }"]
24579 #[doc = " }"]
24580 #[doc = "}"]
24581 #[doc = r" ```"]
24582 #[doc = r" </details>"]
24583 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24584 pub struct StateChangeValueViewContentSubtype5 {
24585 pub account_id: AccountId,
24586 pub key_base64: ::std::string::String,
24587 }
24588 impl ::std::convert::From<&StateChangeValueViewContentSubtype5>
24589 for StateChangeValueViewContentSubtype5
24590 {
24591 fn from(value: &StateChangeValueViewContentSubtype5) -> Self {
24592 value.clone()
24593 }
24594 }
24595 #[doc = "`StateChangeValueViewContentSubtype6`"]
24596 #[doc = r""]
24597 #[doc = r" <details><summary>JSON schema</summary>"]
24598 #[doc = r""]
24599 #[doc = r" ```json"]
24600 #[doc = "{"]
24601 #[doc = " \"type\": \"object\","]
24602 #[doc = " \"required\": ["]
24603 #[doc = " \"account_id\","]
24604 #[doc = " \"code_base64\""]
24605 #[doc = " ],"]
24606 #[doc = " \"properties\": {"]
24607 #[doc = " \"account_id\": {"]
24608 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24609 #[doc = " },"]
24610 #[doc = " \"code_base64\": {"]
24611 #[doc = " \"type\": \"string\""]
24612 #[doc = " }"]
24613 #[doc = " }"]
24614 #[doc = "}"]
24615 #[doc = r" ```"]
24616 #[doc = r" </details>"]
24617 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24618 pub struct StateChangeValueViewContentSubtype6 {
24619 pub account_id: AccountId,
24620 pub code_base64: ::std::string::String,
24621 }
24622 impl ::std::convert::From<&StateChangeValueViewContentSubtype6>
24623 for StateChangeValueViewContentSubtype6
24624 {
24625 fn from(value: &StateChangeValueViewContentSubtype6) -> Self {
24626 value.clone()
24627 }
24628 }
24629 #[doc = "`StateChangeValueViewContentSubtype7`"]
24630 #[doc = r""]
24631 #[doc = r" <details><summary>JSON schema</summary>"]
24632 #[doc = r""]
24633 #[doc = r" ```json"]
24634 #[doc = "{"]
24635 #[doc = " \"type\": \"object\","]
24636 #[doc = " \"required\": ["]
24637 #[doc = " \"account_id\""]
24638 #[doc = " ],"]
24639 #[doc = " \"properties\": {"]
24640 #[doc = " \"account_id\": {"]
24641 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
24642 #[doc = " }"]
24643 #[doc = " }"]
24644 #[doc = "}"]
24645 #[doc = r" ```"]
24646 #[doc = r" </details>"]
24647 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24648 pub struct StateChangeValueViewContentSubtype7 {
24649 pub account_id: AccountId,
24650 }
24651 impl ::std::convert::From<&StateChangeValueViewContentSubtype7>
24652 for StateChangeValueViewContentSubtype7
24653 {
24654 fn from(value: &StateChangeValueViewContentSubtype7) -> Self {
24655 value.clone()
24656 }
24657 }
24658 #[doc = "`StateChangeValueViewType`"]
24659 #[doc = r""]
24660 #[doc = r" <details><summary>JSON schema</summary>"]
24661 #[doc = r""]
24662 #[doc = r" ```json"]
24663 #[doc = "{"]
24664 #[doc = " \"type\": \"string\","]
24665 #[doc = " \"enum\": ["]
24666 #[doc = " \"account_update\","]
24667 #[doc = " \"account_deletion\","]
24668 #[doc = " \"access_key_update\","]
24669 #[doc = " \"data_update\","]
24670 #[doc = " \"data_deletion\","]
24671 #[doc = " \"contract_code_update\","]
24672 #[doc = " \"contract_code_deletion\""]
24673 #[doc = " ]"]
24674 #[doc = "}"]
24675 #[doc = r" ```"]
24676 #[doc = r" </details>"]
24677 #[derive(
24678 :: serde :: Deserialize,
24679 :: serde :: Serialize,
24680 Clone,
24681 Copy,
24682 Debug,
24683 Eq,
24684 Hash,
24685 Ord,
24686 PartialEq,
24687 PartialOrd,
24688 )]
24689 pub enum StateChangeValueViewType {
24690 #[serde(rename = "account_update")]
24691 AccountUpdate,
24692 #[serde(rename = "account_deletion")]
24693 AccountDeletion,
24694 #[serde(rename = "access_key_update")]
24695 AccessKeyUpdate,
24696 #[serde(rename = "data_update")]
24697 DataUpdate,
24698 #[serde(rename = "data_deletion")]
24699 DataDeletion,
24700 #[serde(rename = "contract_code_update")]
24701 ContractCodeUpdate,
24702 #[serde(rename = "contract_code_deletion")]
24703 ContractCodeDeletion,
24704 }
24705 impl ::std::convert::From<&Self> for StateChangeValueViewType {
24706 fn from(value: &StateChangeValueViewType) -> Self {
24707 value.clone()
24708 }
24709 }
24710 impl ::std::fmt::Display for StateChangeValueViewType {
24711 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24712 match *self {
24713 Self::AccountUpdate => write!(f, "account_update"),
24714 Self::AccountDeletion => write!(f, "account_deletion"),
24715 Self::AccessKeyUpdate => write!(f, "access_key_update"),
24716 Self::DataUpdate => write!(f, "data_update"),
24717 Self::DataDeletion => write!(f, "data_deletion"),
24718 Self::ContractCodeUpdate => write!(f, "contract_code_update"),
24719 Self::ContractCodeDeletion => write!(f, "contract_code_deletion"),
24720 }
24721 }
24722 }
24723 impl ::std::str::FromStr for StateChangeValueViewType {
24724 type Err = self::error::ConversionError;
24725 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
24726 match value {
24727 "account_update" => Ok(Self::AccountUpdate),
24728 "account_deletion" => Ok(Self::AccountDeletion),
24729 "access_key_update" => Ok(Self::AccessKeyUpdate),
24730 "data_update" => Ok(Self::DataUpdate),
24731 "data_deletion" => Ok(Self::DataDeletion),
24732 "contract_code_update" => Ok(Self::ContractCodeUpdate),
24733 "contract_code_deletion" => Ok(Self::ContractCodeDeletion),
24734 _ => Err("invalid value".into()),
24735 }
24736 }
24737 }
24738 impl ::std::convert::TryFrom<&str> for StateChangeValueViewType {
24739 type Error = self::error::ConversionError;
24740 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
24741 value.parse()
24742 }
24743 }
24744 impl ::std::convert::TryFrom<&::std::string::String> for StateChangeValueViewType {
24745 type Error = self::error::ConversionError;
24746 fn try_from(
24747 value: &::std::string::String,
24748 ) -> ::std::result::Result<Self, self::error::ConversionError> {
24749 value.parse()
24750 }
24751 }
24752 impl ::std::convert::TryFrom<::std::string::String> for StateChangeValueViewType {
24753 type Error = self::error::ConversionError;
24754 fn try_from(
24755 value: ::std::string::String,
24756 ) -> ::std::result::Result<Self, self::error::ConversionError> {
24757 value.parse()
24758 }
24759 }
24760 #[doc = "`StateChangeWithCauseView`"]
24761 #[doc = r""]
24762 #[doc = r" <details><summary>JSON schema</summary>"]
24763 #[doc = r""]
24764 #[doc = r" ```json"]
24765 #[doc = "{"]
24766 #[doc = " \"type\": \"object\","]
24767 #[doc = " \"required\": ["]
24768 #[doc = " \"cause\","]
24769 #[doc = " \"change\","]
24770 #[doc = " \"type\""]
24771 #[doc = " ],"]
24772 #[doc = " \"properties\": {"]
24773 #[doc = " \"cause\": {"]
24774 #[doc = " \"$ref\": \"#/components/schemas/StateChangeCauseView\""]
24775 #[doc = " },"]
24776 #[doc = " \"change\": {"]
24777 #[doc = " \"$ref\": \"#/components/schemas/StateChangeValueViewContent\""]
24778 #[doc = " },"]
24779 #[doc = " \"type\": {"]
24780 #[doc = " \"$ref\": \"#/components/schemas/StateChangeValueViewType\""]
24781 #[doc = " }"]
24782 #[doc = " }"]
24783 #[doc = "}"]
24784 #[doc = r" ```"]
24785 #[doc = r" </details>"]
24786 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24787 pub struct StateChangeWithCauseView {
24788 pub cause: StateChangeCauseView,
24789 pub change: StateChangeValueViewContent,
24790 #[serde(rename = "type")]
24791 pub type_: StateChangeValueViewType,
24792 }
24793 impl ::std::convert::From<&StateChangeWithCauseView> for StateChangeWithCauseView {
24794 fn from(value: &StateChangeWithCauseView) -> Self {
24795 value.clone()
24796 }
24797 }
24798 #[doc = "Item of the state, key and value are serialized in base64 and proof for inclusion of given state item."]
24799 #[doc = r""]
24800 #[doc = r" <details><summary>JSON schema</summary>"]
24801 #[doc = r""]
24802 #[doc = r" ```json"]
24803 #[doc = "{"]
24804 #[doc = " \"description\": \"Item of the state, key and value are serialized in base64 and proof for inclusion of given state item.\","]
24805 #[doc = " \"type\": \"object\","]
24806 #[doc = " \"required\": ["]
24807 #[doc = " \"key\","]
24808 #[doc = " \"value\""]
24809 #[doc = " ],"]
24810 #[doc = " \"properties\": {"]
24811 #[doc = " \"key\": {"]
24812 #[doc = " \"type\": \"string\","]
24813 #[doc = " \"format\": \"bytes\""]
24814 #[doc = " },"]
24815 #[doc = " \"value\": {"]
24816 #[doc = " \"type\": \"string\","]
24817 #[doc = " \"format\": \"bytes\""]
24818 #[doc = " }"]
24819 #[doc = " }"]
24820 #[doc = "}"]
24821 #[doc = r" ```"]
24822 #[doc = r" </details>"]
24823 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24824 pub struct StateItem {
24825 pub key: ::std::string::String,
24826 pub value: ::std::string::String,
24827 }
24828 impl ::std::convert::From<&StateItem> for StateItem {
24829 fn from(value: &StateItem) -> Self {
24830 value.clone()
24831 }
24832 }
24833 #[doc = "Options for dumping state to S3."]
24834 #[doc = r""]
24835 #[doc = r" <details><summary>JSON schema</summary>"]
24836 #[doc = r""]
24837 #[doc = r" ```json"]
24838 #[doc = "{"]
24839 #[doc = " \"description\": \"Options for dumping state to S3.\","]
24840 #[doc = " \"type\": \"object\","]
24841 #[doc = " \"properties\": {"]
24842 #[doc = " \"dump\": {"]
24843 #[doc = " \"description\": \"`none` value disables state dump to external storage.\","]
24844 #[doc = " \"oneOf\": ["]
24845 #[doc = " {"]
24846 #[doc = " \"type\": \"null\""]
24847 #[doc = " },"]
24848 #[doc = " {"]
24849 #[doc = " \"allOf\": ["]
24850 #[doc = " {"]
24851 #[doc = " \"$ref\": \"#/components/schemas/DumpConfig\""]
24852 #[doc = " }"]
24853 #[doc = " ]"]
24854 #[doc = " }"]
24855 #[doc = " ]"]
24856 #[doc = " },"]
24857 #[doc = " \"sync\": {"]
24858 #[doc = " \"$ref\": \"#/components/schemas/SyncConfig\""]
24859 #[doc = " }"]
24860 #[doc = " }"]
24861 #[doc = "}"]
24862 #[doc = r" ```"]
24863 #[doc = r" </details>"]
24864 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24865 pub struct StateSyncConfig {
24866 #[doc = "`none` value disables state dump to external storage."]
24867 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24868 pub dump: ::std::option::Option<DumpConfig>,
24869 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24870 pub sync: ::std::option::Option<SyncConfig>,
24871 }
24872 impl ::std::convert::From<&StateSyncConfig> for StateSyncConfig {
24873 fn from(value: &StateSyncConfig) -> Self {
24874 value.clone()
24875 }
24876 }
24877 impl ::std::default::Default for StateSyncConfig {
24878 fn default() -> Self {
24879 Self {
24880 dump: Default::default(),
24881 sync: Default::default(),
24882 }
24883 }
24884 }
24885 #[doc = "`StatusSyncInfo`"]
24886 #[doc = r""]
24887 #[doc = r" <details><summary>JSON schema</summary>"]
24888 #[doc = r""]
24889 #[doc = r" ```json"]
24890 #[doc = "{"]
24891 #[doc = " \"type\": \"object\","]
24892 #[doc = " \"required\": ["]
24893 #[doc = " \"latest_block_hash\","]
24894 #[doc = " \"latest_block_height\","]
24895 #[doc = " \"latest_block_time\","]
24896 #[doc = " \"latest_state_root\","]
24897 #[doc = " \"syncing\""]
24898 #[doc = " ],"]
24899 #[doc = " \"properties\": {"]
24900 #[doc = " \"earliest_block_hash\": {"]
24901 #[doc = " \"oneOf\": ["]
24902 #[doc = " {"]
24903 #[doc = " \"type\": \"null\""]
24904 #[doc = " },"]
24905 #[doc = " {"]
24906 #[doc = " \"allOf\": ["]
24907 #[doc = " {"]
24908 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24909 #[doc = " }"]
24910 #[doc = " ]"]
24911 #[doc = " }"]
24912 #[doc = " ]"]
24913 #[doc = " },"]
24914 #[doc = " \"earliest_block_height\": {"]
24915 #[doc = " \"type\": ["]
24916 #[doc = " \"integer\","]
24917 #[doc = " \"null\""]
24918 #[doc = " ],"]
24919 #[doc = " \"format\": \"uint64\","]
24920 #[doc = " \"minimum\": 0.0"]
24921 #[doc = " },"]
24922 #[doc = " \"earliest_block_time\": {"]
24923 #[doc = " \"type\": ["]
24924 #[doc = " \"string\","]
24925 #[doc = " \"null\""]
24926 #[doc = " ]"]
24927 #[doc = " },"]
24928 #[doc = " \"epoch_id\": {"]
24929 #[doc = " \"oneOf\": ["]
24930 #[doc = " {"]
24931 #[doc = " \"type\": \"null\""]
24932 #[doc = " },"]
24933 #[doc = " {"]
24934 #[doc = " \"allOf\": ["]
24935 #[doc = " {"]
24936 #[doc = " \"$ref\": \"#/components/schemas/EpochId\""]
24937 #[doc = " }"]
24938 #[doc = " ]"]
24939 #[doc = " }"]
24940 #[doc = " ]"]
24941 #[doc = " },"]
24942 #[doc = " \"epoch_start_height\": {"]
24943 #[doc = " \"type\": ["]
24944 #[doc = " \"integer\","]
24945 #[doc = " \"null\""]
24946 #[doc = " ],"]
24947 #[doc = " \"format\": \"uint64\","]
24948 #[doc = " \"minimum\": 0.0"]
24949 #[doc = " },"]
24950 #[doc = " \"latest_block_hash\": {"]
24951 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24952 #[doc = " },"]
24953 #[doc = " \"latest_block_height\": {"]
24954 #[doc = " \"type\": \"integer\","]
24955 #[doc = " \"format\": \"uint64\","]
24956 #[doc = " \"minimum\": 0.0"]
24957 #[doc = " },"]
24958 #[doc = " \"latest_block_time\": {"]
24959 #[doc = " \"type\": \"string\""]
24960 #[doc = " },"]
24961 #[doc = " \"latest_state_root\": {"]
24962 #[doc = " \"$ref\": \"#/components/schemas/CryptoHash\""]
24963 #[doc = " },"]
24964 #[doc = " \"syncing\": {"]
24965 #[doc = " \"type\": \"boolean\""]
24966 #[doc = " }"]
24967 #[doc = " }"]
24968 #[doc = "}"]
24969 #[doc = r" ```"]
24970 #[doc = r" </details>"]
24971 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
24972 pub struct StatusSyncInfo {
24973 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24974 pub earliest_block_hash: ::std::option::Option<CryptoHash>,
24975 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24976 pub earliest_block_height: ::std::option::Option<u64>,
24977 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24978 pub earliest_block_time: ::std::option::Option<::std::string::String>,
24979 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24980 pub epoch_id: ::std::option::Option<EpochId>,
24981 #[serde(default, skip_serializing_if = "::std::option::Option::is_none")]
24982 pub epoch_start_height: ::std::option::Option<u64>,
24983 pub latest_block_hash: CryptoHash,
24984 pub latest_block_height: u64,
24985 pub latest_block_time: ::std::string::String,
24986 pub latest_state_root: CryptoHash,
24987 pub syncing: bool,
24988 }
24989 impl ::std::convert::From<&StatusSyncInfo> for StatusSyncInfo {
24990 fn from(value: &StatusSyncInfo) -> Self {
24991 value.clone()
24992 }
24993 }
24994 #[doc = "Errors which may occur during working with trie storages, storing\n trie values (trie nodes and state values) by their hashes."]
24995 #[doc = r""]
24996 #[doc = r" <details><summary>JSON schema</summary>"]
24997 #[doc = r""]
24998 #[doc = r" ```json"]
24999 #[doc = "{"]
25000 #[doc = " \"description\": \"Errors which may occur during working with trie storages, storing\\n trie values (trie nodes and state values) by their hashes.\","]
25001 #[doc = " \"oneOf\": ["]
25002 #[doc = " {"]
25003 #[doc = " \"description\": \"Key-value db internal failure\","]
25004 #[doc = " \"type\": \"string\","]
25005 #[doc = " \"enum\": ["]
25006 #[doc = " \"StorageInternalError\""]
25007 #[doc = " ]"]
25008 #[doc = " },"]
25009 #[doc = " {"]
25010 #[doc = " \"description\": \"Requested trie value by its hash which is missing in storage.\","]
25011 #[doc = " \"type\": \"object\","]
25012 #[doc = " \"required\": ["]
25013 #[doc = " \"MissingTrieValue\""]
25014 #[doc = " ],"]
25015 #[doc = " \"properties\": {"]
25016 #[doc = " \"MissingTrieValue\": {"]
25017 #[doc = " \"$ref\": \"#/components/schemas/MissingTrieValue\""]
25018 #[doc = " }"]
25019 #[doc = " },"]
25020 #[doc = " \"additionalProperties\": false"]
25021 #[doc = " },"]
25022 #[doc = " {"]
25023 #[doc = " \"description\": \"Found trie node which shouldn't be part of state. Raised during\\n validation of state sync parts where incorrect node was passed.\\n TODO (#8997): consider including hash of trie node.\","]
25024 #[doc = " \"type\": \"string\","]
25025 #[doc = " \"enum\": ["]
25026 #[doc = " \"UnexpectedTrieValue\""]
25027 #[doc = " ]"]
25028 #[doc = " },"]
25029 #[doc = " {"]
25030 #[doc = " \"description\": \"Either invalid state or key-value db is corrupted.\\n For PartialStorage it cannot be corrupted.\\n Error message is unreliable and for debugging purposes only. It's also probably ok to\\n panic in every place that produces this error.\\n We can check if db is corrupted by verifying everything in the state trie.\","]
25031 #[doc = " \"type\": \"object\","]
25032 #[doc = " \"required\": ["]
25033 #[doc = " \"StorageInconsistentState\""]
25034 #[doc = " ],"]
25035 #[doc = " \"properties\": {"]
25036 #[doc = " \"StorageInconsistentState\": {"]
25037 #[doc = " \"type\": \"string\""]
25038 #[doc = " }"]
25039 #[doc = " },"]
25040 #[doc = " \"additionalProperties\": false"]
25041 #[doc = " },"]
25042 #[doc = " {"]
25043 #[doc = " \"description\": \"Flat storage error, meaning that it doesn't support some block anymore.\\n We guarantee that such block cannot become final, thus block processing\\n must resume normally.\","]
25044 #[doc = " \"type\": \"object\","]
25045 #[doc = " \"required\": ["]
25046 #[doc = " \"FlatStorageBlockNotSupported\""]
25047 #[doc = " ],"]
25048 #[doc = " \"properties\": {"]
25049 #[doc = " \"FlatStorageBlockNotSupported\": {"]
25050 #[doc = " \"type\": \"string\""]
25051 #[doc = " }"]
25052 #[doc = " },"]
25053 #[doc = " \"additionalProperties\": false"]
25054 #[doc = " },"]
25055 #[doc = " {"]
25056 #[doc = " \"description\": \"In-memory trie could not be loaded for some reason.\","]
25057 #[doc = " \"type\": \"object\","]
25058 #[doc = " \"required\": ["]
25059 #[doc = " \"MemTrieLoadingError\""]
25060 #[doc = " ],"]
25061 #[doc = " \"properties\": {"]
25062 #[doc = " \"MemTrieLoadingError\": {"]
25063 #[doc = " \"type\": \"string\""]
25064 #[doc = " }"]
25065 #[doc = " },"]
25066 #[doc = " \"additionalProperties\": false"]
25067 #[doc = " }"]
25068 #[doc = " ]"]
25069 #[doc = "}"]
25070 #[doc = r" ```"]
25071 #[doc = r" </details>"]
25072 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25073 pub enum StorageError {
25074 #[doc = "Key-value db internal failure"]
25075 StorageInternalError,
25076 #[doc = "Requested trie value by its hash which is missing in storage."]
25077 MissingTrieValue(MissingTrieValue),
25078 #[doc = "Found trie node which shouldn't be part of state. Raised during\n validation of state sync parts where incorrect node was passed.\n TODO (#8997): consider including hash of trie node."]
25079 UnexpectedTrieValue,
25080 #[doc = "Either invalid state or key-value db is corrupted.\n For PartialStorage it cannot be corrupted.\n Error message is unreliable and for debugging purposes only. It's also probably ok to\n panic in every place that produces this error.\n We can check if db is corrupted by verifying everything in the state trie."]
25081 StorageInconsistentState(::std::string::String),
25082 #[doc = "Flat storage error, meaning that it doesn't support some block anymore.\n We guarantee that such block cannot become final, thus block processing\n must resume normally."]
25083 FlatStorageBlockNotSupported(::std::string::String),
25084 #[doc = "In-memory trie could not be loaded for some reason."]
25085 MemTrieLoadingError(::std::string::String),
25086 }
25087 impl ::std::convert::From<&Self> for StorageError {
25088 fn from(value: &StorageError) -> Self {
25089 value.clone()
25090 }
25091 }
25092 impl ::std::convert::From<MissingTrieValue> for StorageError {
25093 fn from(value: MissingTrieValue) -> Self {
25094 Self::MissingTrieValue(value)
25095 }
25096 }
25097 #[doc = "This enum represents if a storage_get call will be performed through flat storage or trie"]
25098 #[doc = r""]
25099 #[doc = r" <details><summary>JSON schema</summary>"]
25100 #[doc = r""]
25101 #[doc = r" ```json"]
25102 #[doc = "{"]
25103 #[doc = " \"description\": \"This enum represents if a storage_get call will be performed through flat storage or trie\","]
25104 #[doc = " \"type\": \"string\","]
25105 #[doc = " \"enum\": ["]
25106 #[doc = " \"FlatStorage\","]
25107 #[doc = " \"Trie\""]
25108 #[doc = " ]"]
25109 #[doc = "}"]
25110 #[doc = r" ```"]
25111 #[doc = r" </details>"]
25112 #[derive(
25113 :: serde :: Deserialize,
25114 :: serde :: Serialize,
25115 Clone,
25116 Copy,
25117 Debug,
25118 Eq,
25119 Hash,
25120 Ord,
25121 PartialEq,
25122 PartialOrd,
25123 )]
25124 pub enum StorageGetMode {
25125 FlatStorage,
25126 Trie,
25127 }
25128 impl ::std::convert::From<&Self> for StorageGetMode {
25129 fn from(value: &StorageGetMode) -> Self {
25130 value.clone()
25131 }
25132 }
25133 impl ::std::fmt::Display for StorageGetMode {
25134 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
25135 match *self {
25136 Self::FlatStorage => write!(f, "FlatStorage"),
25137 Self::Trie => write!(f, "Trie"),
25138 }
25139 }
25140 }
25141 impl ::std::str::FromStr for StorageGetMode {
25142 type Err = self::error::ConversionError;
25143 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25144 match value {
25145 "FlatStorage" => Ok(Self::FlatStorage),
25146 "Trie" => Ok(Self::Trie),
25147 _ => Err("invalid value".into()),
25148 }
25149 }
25150 }
25151 impl ::std::convert::TryFrom<&str> for StorageGetMode {
25152 type Error = self::error::ConversionError;
25153 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25154 value.parse()
25155 }
25156 }
25157 impl ::std::convert::TryFrom<&::std::string::String> for StorageGetMode {
25158 type Error = self::error::ConversionError;
25159 fn try_from(
25160 value: &::std::string::String,
25161 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25162 value.parse()
25163 }
25164 }
25165 impl ::std::convert::TryFrom<::std::string::String> for StorageGetMode {
25166 type Error = self::error::ConversionError;
25167 fn try_from(
25168 value: ::std::string::String,
25169 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25170 value.parse()
25171 }
25172 }
25173 #[doc = "Describes cost of storage per block"]
25174 #[doc = r""]
25175 #[doc = r" <details><summary>JSON schema</summary>"]
25176 #[doc = r""]
25177 #[doc = r" ```json"]
25178 #[doc = "{"]
25179 #[doc = " \"description\": \"Describes cost of storage per block\","]
25180 #[doc = " \"type\": \"object\","]
25181 #[doc = " \"required\": ["]
25182 #[doc = " \"num_bytes_account\","]
25183 #[doc = " \"num_extra_bytes_record\""]
25184 #[doc = " ],"]
25185 #[doc = " \"properties\": {"]
25186 #[doc = " \"num_bytes_account\": {"]
25187 #[doc = " \"description\": \"Number of bytes for an account record, including rounding up for account id.\","]
25188 #[doc = " \"type\": \"integer\","]
25189 #[doc = " \"format\": \"uint64\","]
25190 #[doc = " \"minimum\": 0.0"]
25191 #[doc = " },"]
25192 #[doc = " \"num_extra_bytes_record\": {"]
25193 #[doc = " \"description\": \"Additional number of bytes for a k/v record\","]
25194 #[doc = " \"type\": \"integer\","]
25195 #[doc = " \"format\": \"uint64\","]
25196 #[doc = " \"minimum\": 0.0"]
25197 #[doc = " }"]
25198 #[doc = " }"]
25199 #[doc = "}"]
25200 #[doc = r" ```"]
25201 #[doc = r" </details>"]
25202 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25203 pub struct StorageUsageConfigView {
25204 #[doc = "Number of bytes for an account record, including rounding up for account id."]
25205 pub num_bytes_account: u64,
25206 #[doc = "Additional number of bytes for a k/v record"]
25207 pub num_extra_bytes_record: u64,
25208 }
25209 impl ::std::convert::From<&StorageUsageConfigView> for StorageUsageConfigView {
25210 fn from(value: &StorageUsageConfigView) -> Self {
25211 value.clone()
25212 }
25213 }
25214 #[doc = "`SyncCheckpoint`"]
25215 #[doc = r""]
25216 #[doc = r" <details><summary>JSON schema</summary>"]
25217 #[doc = r""]
25218 #[doc = r" ```json"]
25219 #[doc = "{"]
25220 #[doc = " \"type\": \"string\","]
25221 #[doc = " \"enum\": ["]
25222 #[doc = " \"genesis\","]
25223 #[doc = " \"earliest_available\""]
25224 #[doc = " ]"]
25225 #[doc = "}"]
25226 #[doc = r" ```"]
25227 #[doc = r" </details>"]
25228 #[derive(
25229 :: serde :: Deserialize,
25230 :: serde :: Serialize,
25231 Clone,
25232 Copy,
25233 Debug,
25234 Eq,
25235 Hash,
25236 Ord,
25237 PartialEq,
25238 PartialOrd,
25239 )]
25240 pub enum SyncCheckpoint {
25241 #[serde(rename = "genesis")]
25242 Genesis,
25243 #[serde(rename = "earliest_available")]
25244 EarliestAvailable,
25245 }
25246 impl ::std::convert::From<&Self> for SyncCheckpoint {
25247 fn from(value: &SyncCheckpoint) -> Self {
25248 value.clone()
25249 }
25250 }
25251 impl ::std::fmt::Display for SyncCheckpoint {
25252 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
25253 match *self {
25254 Self::Genesis => write!(f, "genesis"),
25255 Self::EarliestAvailable => write!(f, "earliest_available"),
25256 }
25257 }
25258 }
25259 impl ::std::str::FromStr for SyncCheckpoint {
25260 type Err = self::error::ConversionError;
25261 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25262 match value {
25263 "genesis" => Ok(Self::Genesis),
25264 "earliest_available" => Ok(Self::EarliestAvailable),
25265 _ => Err("invalid value".into()),
25266 }
25267 }
25268 }
25269 impl ::std::convert::TryFrom<&str> for SyncCheckpoint {
25270 type Error = self::error::ConversionError;
25271 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25272 value.parse()
25273 }
25274 }
25275 impl ::std::convert::TryFrom<&::std::string::String> for SyncCheckpoint {
25276 type Error = self::error::ConversionError;
25277 fn try_from(
25278 value: &::std::string::String,
25279 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25280 value.parse()
25281 }
25282 }
25283 impl ::std::convert::TryFrom<::std::string::String> for SyncCheckpoint {
25284 type Error = self::error::ConversionError;
25285 fn try_from(
25286 value: ::std::string::String,
25287 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25288 value.parse()
25289 }
25290 }
25291 #[doc = "Configures how to fetch state parts during state sync."]
25292 #[doc = r""]
25293 #[doc = r" <details><summary>JSON schema</summary>"]
25294 #[doc = r""]
25295 #[doc = r" ```json"]
25296 #[doc = "{"]
25297 #[doc = " \"description\": \"Configures how to fetch state parts during state sync.\","]
25298 #[doc = " \"oneOf\": ["]
25299 #[doc = " {"]
25300 #[doc = " \"description\": \"Syncs state from the peers without reading anything from external storage.\","]
25301 #[doc = " \"type\": \"string\","]
25302 #[doc = " \"enum\": ["]
25303 #[doc = " \"Peers\""]
25304 #[doc = " ]"]
25305 #[doc = " },"]
25306 #[doc = " {"]
25307 #[doc = " \"description\": \"Expects parts to be available in external storage.\","]
25308 #[doc = " \"type\": \"object\","]
25309 #[doc = " \"required\": ["]
25310 #[doc = " \"ExternalStorage\""]
25311 #[doc = " ],"]
25312 #[doc = " \"properties\": {"]
25313 #[doc = " \"ExternalStorage\": {"]
25314 #[doc = " \"$ref\": \"#/components/schemas/ExternalStorageConfig\""]
25315 #[doc = " }"]
25316 #[doc = " },"]
25317 #[doc = " \"additionalProperties\": false"]
25318 #[doc = " }"]
25319 #[doc = " ]"]
25320 #[doc = "}"]
25321 #[doc = r" ```"]
25322 #[doc = r" </details>"]
25323 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25324 pub enum SyncConfig {
25325 #[doc = "Syncs state from the peers without reading anything from external storage."]
25326 Peers,
25327 #[doc = "Expects parts to be available in external storage."]
25328 ExternalStorage(ExternalStorageConfig),
25329 }
25330 impl ::std::convert::From<&Self> for SyncConfig {
25331 fn from(value: &SyncConfig) -> Self {
25332 value.clone()
25333 }
25334 }
25335 impl ::std::convert::From<ExternalStorageConfig> for SyncConfig {
25336 fn from(value: ExternalStorageConfig) -> Self {
25337 Self::ExternalStorage(value)
25338 }
25339 }
25340 #[doc = "`Tier1ProxyView`"]
25341 #[doc = r""]
25342 #[doc = r" <details><summary>JSON schema</summary>"]
25343 #[doc = r""]
25344 #[doc = r" ```json"]
25345 #[doc = "{"]
25346 #[doc = " \"type\": \"object\","]
25347 #[doc = " \"required\": ["]
25348 #[doc = " \"addr\","]
25349 #[doc = " \"peer_id\""]
25350 #[doc = " ],"]
25351 #[doc = " \"properties\": {"]
25352 #[doc = " \"addr\": {"]
25353 #[doc = " \"type\": \"string\""]
25354 #[doc = " },"]
25355 #[doc = " \"peer_id\": {"]
25356 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
25357 #[doc = " }"]
25358 #[doc = " }"]
25359 #[doc = "}"]
25360 #[doc = r" ```"]
25361 #[doc = r" </details>"]
25362 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25363 pub struct Tier1ProxyView {
25364 pub addr: ::std::string::String,
25365 pub peer_id: PublicKey,
25366 }
25367 impl ::std::convert::From<&Tier1ProxyView> for Tier1ProxyView {
25368 fn from(value: &Tier1ProxyView) -> Self {
25369 value.clone()
25370 }
25371 }
25372 #[doc = "Describes the expected behavior of the node regarding shard tracking.\n If the node is an active validator, it will also track the shards it is responsible for as a validator."]
25373 #[doc = r""]
25374 #[doc = r" <details><summary>JSON schema</summary>"]
25375 #[doc = r""]
25376 #[doc = r" ```json"]
25377 #[doc = "{"]
25378 #[doc = " \"description\": \"Describes the expected behavior of the node regarding shard tracking.\\n If the node is an active validator, it will also track the shards it is responsible for as a validator.\","]
25379 #[doc = " \"oneOf\": ["]
25380 #[doc = " {"]
25381 #[doc = " \"description\": \"Tracks no shards (light client).\","]
25382 #[doc = " \"type\": \"string\","]
25383 #[doc = " \"enum\": ["]
25384 #[doc = " \"NoShards\""]
25385 #[doc = " ]"]
25386 #[doc = " },"]
25387 #[doc = " {"]
25388 #[doc = " \"description\": \"Tracks arbitrary shards.\","]
25389 #[doc = " \"type\": \"object\","]
25390 #[doc = " \"required\": ["]
25391 #[doc = " \"Shards\""]
25392 #[doc = " ],"]
25393 #[doc = " \"properties\": {"]
25394 #[doc = " \"Shards\": {"]
25395 #[doc = " \"type\": \"array\","]
25396 #[doc = " \"items\": {"]
25397 #[doc = " \"$ref\": \"#/components/schemas/ShardUId\""]
25398 #[doc = " }"]
25399 #[doc = " }"]
25400 #[doc = " },"]
25401 #[doc = " \"additionalProperties\": false"]
25402 #[doc = " },"]
25403 #[doc = " {"]
25404 #[doc = " \"description\": \"Tracks all shards.\","]
25405 #[doc = " \"type\": \"string\","]
25406 #[doc = " \"enum\": ["]
25407 #[doc = " \"AllShards\""]
25408 #[doc = " ]"]
25409 #[doc = " },"]
25410 #[doc = " {"]
25411 #[doc = " \"description\": \"Tracks shards that are assigned to given validator account.\","]
25412 #[doc = " \"type\": \"object\","]
25413 #[doc = " \"required\": ["]
25414 #[doc = " \"ShadowValidator\""]
25415 #[doc = " ],"]
25416 #[doc = " \"properties\": {"]
25417 #[doc = " \"ShadowValidator\": {"]
25418 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
25419 #[doc = " }"]
25420 #[doc = " },"]
25421 #[doc = " \"additionalProperties\": false"]
25422 #[doc = " },"]
25423 #[doc = " {"]
25424 #[doc = " \"description\": \"Rotate between these sets of tracked shards.\\n Used to simulate the behavior of chunk only producers without staking tokens.\","]
25425 #[doc = " \"type\": \"object\","]
25426 #[doc = " \"required\": ["]
25427 #[doc = " \"Schedule\""]
25428 #[doc = " ],"]
25429 #[doc = " \"properties\": {"]
25430 #[doc = " \"Schedule\": {"]
25431 #[doc = " \"type\": \"array\","]
25432 #[doc = " \"items\": {"]
25433 #[doc = " \"type\": \"array\","]
25434 #[doc = " \"items\": {"]
25435 #[doc = " \"$ref\": \"#/components/schemas/ShardId\""]
25436 #[doc = " }"]
25437 #[doc = " }"]
25438 #[doc = " }"]
25439 #[doc = " },"]
25440 #[doc = " \"additionalProperties\": false"]
25441 #[doc = " },"]
25442 #[doc = " {"]
25443 #[doc = " \"description\": \"Tracks shards that contain one of the given account.\","]
25444 #[doc = " \"type\": \"object\","]
25445 #[doc = " \"required\": ["]
25446 #[doc = " \"Accounts\""]
25447 #[doc = " ],"]
25448 #[doc = " \"properties\": {"]
25449 #[doc = " \"Accounts\": {"]
25450 #[doc = " \"type\": \"array\","]
25451 #[doc = " \"items\": {"]
25452 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
25453 #[doc = " }"]
25454 #[doc = " }"]
25455 #[doc = " },"]
25456 #[doc = " \"additionalProperties\": false"]
25457 #[doc = " }"]
25458 #[doc = " ]"]
25459 #[doc = "}"]
25460 #[doc = r" ```"]
25461 #[doc = r" </details>"]
25462 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25463 pub enum TrackedShardsConfig {
25464 #[doc = "Tracks no shards (light client)."]
25465 NoShards,
25466 #[doc = "Tracks arbitrary shards."]
25467 Shards(::std::vec::Vec<ShardUId>),
25468 #[doc = "Tracks all shards."]
25469 AllShards,
25470 #[doc = "Tracks shards that are assigned to given validator account."]
25471 ShadowValidator(AccountId),
25472 #[doc = "Rotate between these sets of tracked shards.\n Used to simulate the behavior of chunk only producers without staking tokens."]
25473 Schedule(::std::vec::Vec<::std::vec::Vec<ShardId>>),
25474 #[doc = "Tracks shards that contain one of the given account."]
25475 Accounts(::std::vec::Vec<AccountId>),
25476 }
25477 impl ::std::convert::From<&Self> for TrackedShardsConfig {
25478 fn from(value: &TrackedShardsConfig) -> Self {
25479 value.clone()
25480 }
25481 }
25482 impl ::std::convert::From<::std::vec::Vec<ShardUId>> for TrackedShardsConfig {
25483 fn from(value: ::std::vec::Vec<ShardUId>) -> Self {
25484 Self::Shards(value)
25485 }
25486 }
25487 impl ::std::convert::From<AccountId> for TrackedShardsConfig {
25488 fn from(value: AccountId) -> Self {
25489 Self::ShadowValidator(value)
25490 }
25491 }
25492 impl ::std::convert::From<::std::vec::Vec<::std::vec::Vec<ShardId>>> for TrackedShardsConfig {
25493 fn from(value: ::std::vec::Vec<::std::vec::Vec<ShardId>>) -> Self {
25494 Self::Schedule(value)
25495 }
25496 }
25497 impl ::std::convert::From<::std::vec::Vec<AccountId>> for TrackedShardsConfig {
25498 fn from(value: ::std::vec::Vec<AccountId>) -> Self {
25499 Self::Accounts(value)
25500 }
25501 }
25502 #[doc = "`TransferAction`"]
25503 #[doc = r""]
25504 #[doc = r" <details><summary>JSON schema</summary>"]
25505 #[doc = r""]
25506 #[doc = r" ```json"]
25507 #[doc = "{"]
25508 #[doc = " \"type\": \"object\","]
25509 #[doc = " \"required\": ["]
25510 #[doc = " \"deposit\""]
25511 #[doc = " ],"]
25512 #[doc = " \"properties\": {"]
25513 #[doc = " \"deposit\": {"]
25514 #[doc = " \"type\": \"string\""]
25515 #[doc = " }"]
25516 #[doc = " }"]
25517 #[doc = "}"]
25518 #[doc = r" ```"]
25519 #[doc = r" </details>"]
25520 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25521 pub struct TransferAction {
25522 pub deposit: ::std::string::String,
25523 }
25524 impl ::std::convert::From<&TransferAction> for TransferAction {
25525 fn from(value: &TransferAction) -> Self {
25526 value.clone()
25527 }
25528 }
25529 #[doc = "Error returned in the ExecutionOutcome in case of failure"]
25530 #[doc = r""]
25531 #[doc = r" <details><summary>JSON schema</summary>"]
25532 #[doc = r""]
25533 #[doc = r" ```json"]
25534 #[doc = "{"]
25535 #[doc = " \"description\": \"Error returned in the ExecutionOutcome in case of failure\","]
25536 #[doc = " \"oneOf\": ["]
25537 #[doc = " {"]
25538 #[doc = " \"description\": \"An error happened during Action execution\","]
25539 #[doc = " \"type\": \"object\","]
25540 #[doc = " \"required\": ["]
25541 #[doc = " \"ActionError\""]
25542 #[doc = " ],"]
25543 #[doc = " \"properties\": {"]
25544 #[doc = " \"ActionError\": {"]
25545 #[doc = " \"$ref\": \"#/components/schemas/ActionError\""]
25546 #[doc = " }"]
25547 #[doc = " },"]
25548 #[doc = " \"additionalProperties\": false"]
25549 #[doc = " },"]
25550 #[doc = " {"]
25551 #[doc = " \"description\": \"An error happened during Transaction execution\","]
25552 #[doc = " \"type\": \"object\","]
25553 #[doc = " \"required\": ["]
25554 #[doc = " \"InvalidTxError\""]
25555 #[doc = " ],"]
25556 #[doc = " \"properties\": {"]
25557 #[doc = " \"InvalidTxError\": {"]
25558 #[doc = " \"$ref\": \"#/components/schemas/InvalidTxError\""]
25559 #[doc = " }"]
25560 #[doc = " },"]
25561 #[doc = " \"additionalProperties\": false"]
25562 #[doc = " }"]
25563 #[doc = " ]"]
25564 #[doc = "}"]
25565 #[doc = r" ```"]
25566 #[doc = r" </details>"]
25567 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25568 pub enum TxExecutionError {
25569 #[doc = "An error happened during Action execution"]
25570 ActionError(ActionError),
25571 #[doc = "An error happened during Transaction execution"]
25572 InvalidTxError(InvalidTxError),
25573 }
25574 impl ::std::convert::From<&Self> for TxExecutionError {
25575 fn from(value: &TxExecutionError) -> Self {
25576 value.clone()
25577 }
25578 }
25579 impl ::std::convert::From<ActionError> for TxExecutionError {
25580 fn from(value: ActionError) -> Self {
25581 Self::ActionError(value)
25582 }
25583 }
25584 impl ::std::convert::From<InvalidTxError> for TxExecutionError {
25585 fn from(value: InvalidTxError) -> Self {
25586 Self::InvalidTxError(value)
25587 }
25588 }
25589 #[doc = "`TxExecutionStatus`"]
25590 #[doc = r""]
25591 #[doc = r" <details><summary>JSON schema</summary>"]
25592 #[doc = r""]
25593 #[doc = r" ```json"]
25594 #[doc = "{"]
25595 #[doc = " \"oneOf\": ["]
25596 #[doc = " {"]
25597 #[doc = " \"description\": \"Transaction is waiting to be included into the block\","]
25598 #[doc = " \"type\": \"string\","]
25599 #[doc = " \"enum\": ["]
25600 #[doc = " \"NONE\""]
25601 #[doc = " ]"]
25602 #[doc = " },"]
25603 #[doc = " {"]
25604 #[doc = " \"description\": \"Transaction is included into the block. The block may be not finalized yet\","]
25605 #[doc = " \"type\": \"string\","]
25606 #[doc = " \"enum\": ["]
25607 #[doc = " \"INCLUDED\""]
25608 #[doc = " ]"]
25609 #[doc = " },"]
25610 #[doc = " {"]
25611 #[doc = " \"description\": \"Transaction is included into the block +\\n All non-refund transaction receipts finished their execution.\\n The corresponding blocks for tx and each receipt may be not finalized yet\","]
25612 #[doc = " \"type\": \"string\","]
25613 #[doc = " \"enum\": ["]
25614 #[doc = " \"EXECUTED_OPTIMISTIC\""]
25615 #[doc = " ]"]
25616 #[doc = " },"]
25617 #[doc = " {"]
25618 #[doc = " \"description\": \"Transaction is included into finalized block\","]
25619 #[doc = " \"type\": \"string\","]
25620 #[doc = " \"enum\": ["]
25621 #[doc = " \"INCLUDED_FINAL\""]
25622 #[doc = " ]"]
25623 #[doc = " },"]
25624 #[doc = " {"]
25625 #[doc = " \"description\": \"Transaction is included into finalized block +\\n All non-refund transaction receipts finished their execution.\\n The corresponding blocks for each receipt may be not finalized yet\","]
25626 #[doc = " \"type\": \"string\","]
25627 #[doc = " \"enum\": ["]
25628 #[doc = " \"EXECUTED\""]
25629 #[doc = " ]"]
25630 #[doc = " },"]
25631 #[doc = " {"]
25632 #[doc = " \"description\": \"Transaction is included into finalized block +\\n Execution of all transaction receipts is finalized, including refund receipts\","]
25633 #[doc = " \"type\": \"string\","]
25634 #[doc = " \"enum\": ["]
25635 #[doc = " \"FINAL\""]
25636 #[doc = " ]"]
25637 #[doc = " }"]
25638 #[doc = " ]"]
25639 #[doc = "}"]
25640 #[doc = r" ```"]
25641 #[doc = r" </details>"]
25642 #[derive(
25643 :: serde :: Deserialize,
25644 :: serde :: Serialize,
25645 Clone,
25646 Copy,
25647 Debug,
25648 Eq,
25649 Hash,
25650 Ord,
25651 PartialEq,
25652 PartialOrd,
25653 )]
25654 pub enum TxExecutionStatus {
25655 #[doc = "Transaction is waiting to be included into the block"]
25656 #[serde(rename = "NONE")]
25657 None,
25658 #[doc = "Transaction is included into the block. The block may be not finalized yet"]
25659 #[serde(rename = "INCLUDED")]
25660 Included,
25661 #[doc = "Transaction is included into the block +\n All non-refund transaction receipts finished their execution.\n The corresponding blocks for tx and each receipt may be not finalized yet"]
25662 #[serde(rename = "EXECUTED_OPTIMISTIC")]
25663 ExecutedOptimistic,
25664 #[doc = "Transaction is included into finalized block"]
25665 #[serde(rename = "INCLUDED_FINAL")]
25666 IncludedFinal,
25667 #[doc = "Transaction is included into finalized block +\n All non-refund transaction receipts finished their execution.\n The corresponding blocks for each receipt may be not finalized yet"]
25668 #[serde(rename = "EXECUTED")]
25669 Executed,
25670 #[doc = "Transaction is included into finalized block +\n Execution of all transaction receipts is finalized, including refund receipts"]
25671 #[serde(rename = "FINAL")]
25672 Final,
25673 }
25674 impl ::std::convert::From<&Self> for TxExecutionStatus {
25675 fn from(value: &TxExecutionStatus) -> Self {
25676 value.clone()
25677 }
25678 }
25679 impl ::std::fmt::Display for TxExecutionStatus {
25680 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
25681 match *self {
25682 Self::None => write!(f, "NONE"),
25683 Self::Included => write!(f, "INCLUDED"),
25684 Self::ExecutedOptimistic => write!(f, "EXECUTED_OPTIMISTIC"),
25685 Self::IncludedFinal => write!(f, "INCLUDED_FINAL"),
25686 Self::Executed => write!(f, "EXECUTED"),
25687 Self::Final => write!(f, "FINAL"),
25688 }
25689 }
25690 }
25691 impl ::std::str::FromStr for TxExecutionStatus {
25692 type Err = self::error::ConversionError;
25693 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25694 match value {
25695 "NONE" => Ok(Self::None),
25696 "INCLUDED" => Ok(Self::Included),
25697 "EXECUTED_OPTIMISTIC" => Ok(Self::ExecutedOptimistic),
25698 "INCLUDED_FINAL" => Ok(Self::IncludedFinal),
25699 "EXECUTED" => Ok(Self::Executed),
25700 "FINAL" => Ok(Self::Final),
25701 _ => Err("invalid value".into()),
25702 }
25703 }
25704 }
25705 impl ::std::convert::TryFrom<&str> for TxExecutionStatus {
25706 type Error = self::error::ConversionError;
25707 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25708 value.parse()
25709 }
25710 }
25711 impl ::std::convert::TryFrom<&::std::string::String> for TxExecutionStatus {
25712 type Error = self::error::ConversionError;
25713 fn try_from(
25714 value: &::std::string::String,
25715 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25716 value.parse()
25717 }
25718 }
25719 impl ::std::convert::TryFrom<::std::string::String> for TxExecutionStatus {
25720 type Error = self::error::ConversionError;
25721 fn try_from(
25722 value: ::std::string::String,
25723 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25724 value.parse()
25725 }
25726 }
25727 #[doc = "`TypeTransactionOrReceiptId`"]
25728 #[doc = r""]
25729 #[doc = r" <details><summary>JSON schema</summary>"]
25730 #[doc = r""]
25731 #[doc = r" ```json"]
25732 #[doc = "{"]
25733 #[doc = " \"type\": \"string\","]
25734 #[doc = " \"enum\": ["]
25735 #[doc = " \"transaction\","]
25736 #[doc = " \"receipt\""]
25737 #[doc = " ]"]
25738 #[doc = "}"]
25739 #[doc = r" ```"]
25740 #[doc = r" </details>"]
25741 #[derive(
25742 :: serde :: Deserialize,
25743 :: serde :: Serialize,
25744 Clone,
25745 Copy,
25746 Debug,
25747 Eq,
25748 Hash,
25749 Ord,
25750 PartialEq,
25751 PartialOrd,
25752 )]
25753 pub enum TypeTransactionOrReceiptId {
25754 #[serde(rename = "transaction")]
25755 Transaction,
25756 #[serde(rename = "receipt")]
25757 Receipt,
25758 }
25759 impl ::std::convert::From<&Self> for TypeTransactionOrReceiptId {
25760 fn from(value: &TypeTransactionOrReceiptId) -> Self {
25761 value.clone()
25762 }
25763 }
25764 impl ::std::fmt::Display for TypeTransactionOrReceiptId {
25765 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
25766 match *self {
25767 Self::Transaction => write!(f, "transaction"),
25768 Self::Receipt => write!(f, "receipt"),
25769 }
25770 }
25771 }
25772 impl ::std::str::FromStr for TypeTransactionOrReceiptId {
25773 type Err = self::error::ConversionError;
25774 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25775 match value {
25776 "transaction" => Ok(Self::Transaction),
25777 "receipt" => Ok(Self::Receipt),
25778 _ => Err("invalid value".into()),
25779 }
25780 }
25781 }
25782 impl ::std::convert::TryFrom<&str> for TypeTransactionOrReceiptId {
25783 type Error = self::error::ConversionError;
25784 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
25785 value.parse()
25786 }
25787 }
25788 impl ::std::convert::TryFrom<&::std::string::String> for TypeTransactionOrReceiptId {
25789 type Error = self::error::ConversionError;
25790 fn try_from(
25791 value: &::std::string::String,
25792 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25793 value.parse()
25794 }
25795 }
25796 impl ::std::convert::TryFrom<::std::string::String> for TypeTransactionOrReceiptId {
25797 type Error = self::error::ConversionError;
25798 fn try_from(
25799 value: ::std::string::String,
25800 ) -> ::std::result::Result<Self, self::error::ConversionError> {
25801 value.parse()
25802 }
25803 }
25804 #[doc = "Use global contract action"]
25805 #[doc = r""]
25806 #[doc = r" <details><summary>JSON schema</summary>"]
25807 #[doc = r""]
25808 #[doc = r" ```json"]
25809 #[doc = "{"]
25810 #[doc = " \"description\": \"Use global contract action\","]
25811 #[doc = " \"type\": \"object\","]
25812 #[doc = " \"required\": ["]
25813 #[doc = " \"contract_identifier\""]
25814 #[doc = " ],"]
25815 #[doc = " \"properties\": {"]
25816 #[doc = " \"contract_identifier\": {"]
25817 #[doc = " \"$ref\": \"#/components/schemas/GlobalContractIdentifier\""]
25818 #[doc = " }"]
25819 #[doc = " }"]
25820 #[doc = "}"]
25821 #[doc = r" ```"]
25822 #[doc = r" </details>"]
25823 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25824 pub struct UseGlobalContractAction {
25825 pub contract_identifier: GlobalContractIdentifier,
25826 }
25827 impl ::std::convert::From<&UseGlobalContractAction> for UseGlobalContractAction {
25828 fn from(value: &UseGlobalContractAction) -> Self {
25829 value.clone()
25830 }
25831 }
25832 #[doc = "`ValidatorInfo`"]
25833 #[doc = r""]
25834 #[doc = r" <details><summary>JSON schema</summary>"]
25835 #[doc = r""]
25836 #[doc = r" ```json"]
25837 #[doc = "{"]
25838 #[doc = " \"type\": \"object\","]
25839 #[doc = " \"required\": ["]
25840 #[doc = " \"account_id\""]
25841 #[doc = " ],"]
25842 #[doc = " \"properties\": {"]
25843 #[doc = " \"account_id\": {"]
25844 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
25845 #[doc = " }"]
25846 #[doc = " }"]
25847 #[doc = "}"]
25848 #[doc = r" ```"]
25849 #[doc = r" </details>"]
25850 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
25851 pub struct ValidatorInfo {
25852 pub account_id: AccountId,
25853 }
25854 impl ::std::convert::From<&ValidatorInfo> for ValidatorInfo {
25855 fn from(value: &ValidatorInfo) -> Self {
25856 value.clone()
25857 }
25858 }
25859 #[doc = "Reasons for removing a validator from the validator set."]
25860 #[doc = r""]
25861 #[doc = r" <details><summary>JSON schema</summary>"]
25862 #[doc = r""]
25863 #[doc = r" ```json"]
25864 #[doc = "{"]
25865 #[doc = " \"description\": \"Reasons for removing a validator from the validator set.\","]
25866 #[doc = " \"oneOf\": ["]
25867 #[doc = " {"]
25868 #[doc = " \"description\": \"Deprecated\","]
25869 #[doc = " \"type\": \"string\","]
25870 #[doc = " \"enum\": ["]
25871 #[doc = " \"_UnusedSlashed\""]
25872 #[doc = " ]"]
25873 #[doc = " },"]
25874 #[doc = " {"]
25875 #[doc = " \"description\": \"Validator didn't produce enough blocks.\","]
25876 #[doc = " \"type\": \"object\","]
25877 #[doc = " \"required\": ["]
25878 #[doc = " \"NotEnoughBlocks\""]
25879 #[doc = " ],"]
25880 #[doc = " \"properties\": {"]
25881 #[doc = " \"NotEnoughBlocks\": {"]
25882 #[doc = " \"type\": \"object\","]
25883 #[doc = " \"required\": ["]
25884 #[doc = " \"expected\","]
25885 #[doc = " \"produced\""]
25886 #[doc = " ],"]
25887 #[doc = " \"properties\": {"]
25888 #[doc = " \"expected\": {"]
25889 #[doc = " \"type\": \"integer\","]
25890 #[doc = " \"format\": \"uint64\","]
25891 #[doc = " \"minimum\": 0.0"]
25892 #[doc = " },"]
25893 #[doc = " \"produced\": {"]
25894 #[doc = " \"type\": \"integer\","]
25895 #[doc = " \"format\": \"uint64\","]
25896 #[doc = " \"minimum\": 0.0"]
25897 #[doc = " }"]
25898 #[doc = " }"]
25899 #[doc = " }"]
25900 #[doc = " },"]
25901 #[doc = " \"additionalProperties\": false"]
25902 #[doc = " },"]
25903 #[doc = " {"]
25904 #[doc = " \"description\": \"Validator didn't produce enough chunks.\","]
25905 #[doc = " \"type\": \"object\","]
25906 #[doc = " \"required\": ["]
25907 #[doc = " \"NotEnoughChunks\""]
25908 #[doc = " ],"]
25909 #[doc = " \"properties\": {"]
25910 #[doc = " \"NotEnoughChunks\": {"]
25911 #[doc = " \"type\": \"object\","]
25912 #[doc = " \"required\": ["]
25913 #[doc = " \"expected\","]
25914 #[doc = " \"produced\""]
25915 #[doc = " ],"]
25916 #[doc = " \"properties\": {"]
25917 #[doc = " \"expected\": {"]
25918 #[doc = " \"type\": \"integer\","]
25919 #[doc = " \"format\": \"uint64\","]
25920 #[doc = " \"minimum\": 0.0"]
25921 #[doc = " },"]
25922 #[doc = " \"produced\": {"]
25923 #[doc = " \"type\": \"integer\","]
25924 #[doc = " \"format\": \"uint64\","]
25925 #[doc = " \"minimum\": 0.0"]
25926 #[doc = " }"]
25927 #[doc = " }"]
25928 #[doc = " }"]
25929 #[doc = " },"]
25930 #[doc = " \"additionalProperties\": false"]
25931 #[doc = " },"]
25932 #[doc = " {"]
25933 #[doc = " \"description\": \"Validator unstaked themselves.\","]
25934 #[doc = " \"type\": \"string\","]
25935 #[doc = " \"enum\": ["]
25936 #[doc = " \"Unstaked\""]
25937 #[doc = " ]"]
25938 #[doc = " },"]
25939 #[doc = " {"]
25940 #[doc = " \"description\": \"Validator stake is now below threshold\","]
25941 #[doc = " \"type\": \"object\","]
25942 #[doc = " \"required\": ["]
25943 #[doc = " \"NotEnoughStake\""]
25944 #[doc = " ],"]
25945 #[doc = " \"properties\": {"]
25946 #[doc = " \"NotEnoughStake\": {"]
25947 #[doc = " \"type\": \"object\","]
25948 #[doc = " \"required\": ["]
25949 #[doc = " \"stake_u128\","]
25950 #[doc = " \"threshold_u128\""]
25951 #[doc = " ],"]
25952 #[doc = " \"properties\": {"]
25953 #[doc = " \"stake_u128\": {"]
25954 #[doc = " \"type\": \"string\""]
25955 #[doc = " },"]
25956 #[doc = " \"threshold_u128\": {"]
25957 #[doc = " \"type\": \"string\""]
25958 #[doc = " }"]
25959 #[doc = " }"]
25960 #[doc = " }"]
25961 #[doc = " },"]
25962 #[doc = " \"additionalProperties\": false"]
25963 #[doc = " },"]
25964 #[doc = " {"]
25965 #[doc = " \"description\": \"Enough stake but is not chosen because of seat limits.\","]
25966 #[doc = " \"type\": \"string\","]
25967 #[doc = " \"enum\": ["]
25968 #[doc = " \"DidNotGetASeat\""]
25969 #[doc = " ]"]
25970 #[doc = " },"]
25971 #[doc = " {"]
25972 #[doc = " \"description\": \"Validator didn't produce enough chunk endorsements.\","]
25973 #[doc = " \"type\": \"object\","]
25974 #[doc = " \"required\": ["]
25975 #[doc = " \"NotEnoughChunkEndorsements\""]
25976 #[doc = " ],"]
25977 #[doc = " \"properties\": {"]
25978 #[doc = " \"NotEnoughChunkEndorsements\": {"]
25979 #[doc = " \"type\": \"object\","]
25980 #[doc = " \"required\": ["]
25981 #[doc = " \"expected\","]
25982 #[doc = " \"produced\""]
25983 #[doc = " ],"]
25984 #[doc = " \"properties\": {"]
25985 #[doc = " \"expected\": {"]
25986 #[doc = " \"type\": \"integer\","]
25987 #[doc = " \"format\": \"uint64\","]
25988 #[doc = " \"minimum\": 0.0"]
25989 #[doc = " },"]
25990 #[doc = " \"produced\": {"]
25991 #[doc = " \"type\": \"integer\","]
25992 #[doc = " \"format\": \"uint64\","]
25993 #[doc = " \"minimum\": 0.0"]
25994 #[doc = " }"]
25995 #[doc = " }"]
25996 #[doc = " }"]
25997 #[doc = " },"]
25998 #[doc = " \"additionalProperties\": false"]
25999 #[doc = " },"]
26000 #[doc = " {"]
26001 #[doc = " \"description\": \"Validator's last block proposal was for a protocol version older than\\n the network's voted protocol version.\","]
26002 #[doc = " \"type\": \"object\","]
26003 #[doc = " \"required\": ["]
26004 #[doc = " \"ProtocolVersionTooOld\""]
26005 #[doc = " ],"]
26006 #[doc = " \"properties\": {"]
26007 #[doc = " \"ProtocolVersionTooOld\": {"]
26008 #[doc = " \"type\": \"object\","]
26009 #[doc = " \"required\": ["]
26010 #[doc = " \"network_version\","]
26011 #[doc = " \"version\""]
26012 #[doc = " ],"]
26013 #[doc = " \"properties\": {"]
26014 #[doc = " \"network_version\": {"]
26015 #[doc = " \"type\": \"integer\","]
26016 #[doc = " \"format\": \"uint32\","]
26017 #[doc = " \"minimum\": 0.0"]
26018 #[doc = " },"]
26019 #[doc = " \"version\": {"]
26020 #[doc = " \"type\": \"integer\","]
26021 #[doc = " \"format\": \"uint32\","]
26022 #[doc = " \"minimum\": 0.0"]
26023 #[doc = " }"]
26024 #[doc = " }"]
26025 #[doc = " }"]
26026 #[doc = " },"]
26027 #[doc = " \"additionalProperties\": false"]
26028 #[doc = " }"]
26029 #[doc = " ]"]
26030 #[doc = "}"]
26031 #[doc = r" ```"]
26032 #[doc = r" </details>"]
26033 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26034 pub enum ValidatorKickoutReason {
26035 #[doc = "Deprecated"]
26036 #[serde(rename = "_UnusedSlashed")]
26037 UnusedSlashed,
26038 #[doc = "Validator didn't produce enough blocks."]
26039 NotEnoughBlocks { expected: u64, produced: u64 },
26040 #[doc = "Validator didn't produce enough chunks."]
26041 NotEnoughChunks { expected: u64, produced: u64 },
26042 #[doc = "Validator unstaked themselves."]
26043 Unstaked,
26044 #[doc = "Validator stake is now below threshold"]
26045 NotEnoughStake {
26046 stake_u128: ::std::string::String,
26047 threshold_u128: ::std::string::String,
26048 },
26049 #[doc = "Enough stake but is not chosen because of seat limits."]
26050 DidNotGetASeat,
26051 #[doc = "Validator didn't produce enough chunk endorsements."]
26052 NotEnoughChunkEndorsements { expected: u64, produced: u64 },
26053 #[doc = "Validator's last block proposal was for a protocol version older than\n the network's voted protocol version."]
26054 ProtocolVersionTooOld { network_version: u32, version: u32 },
26055 }
26056 impl ::std::convert::From<&Self> for ValidatorKickoutReason {
26057 fn from(value: &ValidatorKickoutReason) -> Self {
26058 value.clone()
26059 }
26060 }
26061 #[doc = "`ValidatorKickoutView`"]
26062 #[doc = r""]
26063 #[doc = r" <details><summary>JSON schema</summary>"]
26064 #[doc = r""]
26065 #[doc = r" ```json"]
26066 #[doc = "{"]
26067 #[doc = " \"type\": \"object\","]
26068 #[doc = " \"required\": ["]
26069 #[doc = " \"account_id\","]
26070 #[doc = " \"reason\""]
26071 #[doc = " ],"]
26072 #[doc = " \"properties\": {"]
26073 #[doc = " \"account_id\": {"]
26074 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
26075 #[doc = " },"]
26076 #[doc = " \"reason\": {"]
26077 #[doc = " \"$ref\": \"#/components/schemas/ValidatorKickoutReason\""]
26078 #[doc = " }"]
26079 #[doc = " }"]
26080 #[doc = "}"]
26081 #[doc = r" ```"]
26082 #[doc = r" </details>"]
26083 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26084 pub struct ValidatorKickoutView {
26085 pub account_id: AccountId,
26086 pub reason: ValidatorKickoutReason,
26087 }
26088 impl ::std::convert::From<&ValidatorKickoutView> for ValidatorKickoutView {
26089 fn from(value: &ValidatorKickoutView) -> Self {
26090 value.clone()
26091 }
26092 }
26093 #[doc = "`ValidatorStakeView`"]
26094 #[doc = r""]
26095 #[doc = r" <details><summary>JSON schema</summary>"]
26096 #[doc = r""]
26097 #[doc = r" ```json"]
26098 #[doc = "{"]
26099 #[doc = " \"type\": \"object\","]
26100 #[doc = " \"allOf\": ["]
26101 #[doc = " {"]
26102 #[doc = " \"$ref\": \"#/components/schemas/ValidatorStakeViewV1\""]
26103 #[doc = " }"]
26104 #[doc = " ],"]
26105 #[doc = " \"required\": ["]
26106 #[doc = " \"validator_stake_struct_version\""]
26107 #[doc = " ],"]
26108 #[doc = " \"properties\": {"]
26109 #[doc = " \"validator_stake_struct_version\": {"]
26110 #[doc = " \"type\": \"string\","]
26111 #[doc = " \"enum\": ["]
26112 #[doc = " \"V1\""]
26113 #[doc = " ]"]
26114 #[doc = " }"]
26115 #[doc = " }"]
26116 #[doc = "}"]
26117 #[doc = r" ```"]
26118 #[doc = r" </details>"]
26119 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26120 pub struct ValidatorStakeView {
26121 pub account_id: AccountId,
26122 pub public_key: PublicKey,
26123 pub stake: ::std::string::String,
26124 pub validator_stake_struct_version: ValidatorStakeViewValidatorStakeStructVersion,
26125 }
26126 impl ::std::convert::From<&ValidatorStakeView> for ValidatorStakeView {
26127 fn from(value: &ValidatorStakeView) -> Self {
26128 value.clone()
26129 }
26130 }
26131 #[doc = "`ValidatorStakeViewV1`"]
26132 #[doc = r""]
26133 #[doc = r" <details><summary>JSON schema</summary>"]
26134 #[doc = r""]
26135 #[doc = r" ```json"]
26136 #[doc = "{"]
26137 #[doc = " \"type\": \"object\","]
26138 #[doc = " \"required\": ["]
26139 #[doc = " \"account_id\","]
26140 #[doc = " \"public_key\","]
26141 #[doc = " \"stake\""]
26142 #[doc = " ],"]
26143 #[doc = " \"properties\": {"]
26144 #[doc = " \"account_id\": {"]
26145 #[doc = " \"$ref\": \"#/components/schemas/AccountId\""]
26146 #[doc = " },"]
26147 #[doc = " \"public_key\": {"]
26148 #[doc = " \"$ref\": \"#/components/schemas/PublicKey\""]
26149 #[doc = " },"]
26150 #[doc = " \"stake\": {"]
26151 #[doc = " \"type\": \"string\""]
26152 #[doc = " }"]
26153 #[doc = " }"]
26154 #[doc = "}"]
26155 #[doc = r" ```"]
26156 #[doc = r" </details>"]
26157 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26158 pub struct ValidatorStakeViewV1 {
26159 pub account_id: AccountId,
26160 pub public_key: PublicKey,
26161 pub stake: ::std::string::String,
26162 }
26163 impl ::std::convert::From<&ValidatorStakeViewV1> for ValidatorStakeViewV1 {
26164 fn from(value: &ValidatorStakeViewV1) -> Self {
26165 value.clone()
26166 }
26167 }
26168 #[doc = "`ValidatorStakeViewValidatorStakeStructVersion`"]
26169 #[doc = r""]
26170 #[doc = r" <details><summary>JSON schema</summary>"]
26171 #[doc = r""]
26172 #[doc = r" ```json"]
26173 #[doc = "{"]
26174 #[doc = " \"type\": \"string\","]
26175 #[doc = " \"enum\": ["]
26176 #[doc = " \"V1\""]
26177 #[doc = " ]"]
26178 #[doc = "}"]
26179 #[doc = r" ```"]
26180 #[doc = r" </details>"]
26181 #[derive(
26182 :: serde :: Deserialize,
26183 :: serde :: Serialize,
26184 Clone,
26185 Copy,
26186 Debug,
26187 Eq,
26188 Hash,
26189 Ord,
26190 PartialEq,
26191 PartialOrd,
26192 )]
26193 pub enum ValidatorStakeViewValidatorStakeStructVersion {
26194 V1,
26195 }
26196 impl ::std::convert::From<&Self> for ValidatorStakeViewValidatorStakeStructVersion {
26197 fn from(value: &ValidatorStakeViewValidatorStakeStructVersion) -> Self {
26198 value.clone()
26199 }
26200 }
26201 impl ::std::fmt::Display for ValidatorStakeViewValidatorStakeStructVersion {
26202 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
26203 match *self {
26204 Self::V1 => write!(f, "V1"),
26205 }
26206 }
26207 }
26208 impl ::std::str::FromStr for ValidatorStakeViewValidatorStakeStructVersion {
26209 type Err = self::error::ConversionError;
26210 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
26211 match value {
26212 "V1" => Ok(Self::V1),
26213 _ => Err("invalid value".into()),
26214 }
26215 }
26216 }
26217 impl ::std::convert::TryFrom<&str> for ValidatorStakeViewValidatorStakeStructVersion {
26218 type Error = self::error::ConversionError;
26219 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
26220 value.parse()
26221 }
26222 }
26223 impl ::std::convert::TryFrom<&::std::string::String>
26224 for ValidatorStakeViewValidatorStakeStructVersion
26225 {
26226 type Error = self::error::ConversionError;
26227 fn try_from(
26228 value: &::std::string::String,
26229 ) -> ::std::result::Result<Self, self::error::ConversionError> {
26230 value.parse()
26231 }
26232 }
26233 impl ::std::convert::TryFrom<::std::string::String>
26234 for ValidatorStakeViewValidatorStakeStructVersion
26235 {
26236 type Error = self::error::ConversionError;
26237 fn try_from(
26238 value: ::std::string::String,
26239 ) -> ::std::result::Result<Self, self::error::ConversionError> {
26240 value.parse()
26241 }
26242 }
26243 #[doc = "Data structure for semver version and github tag or commit."]
26244 #[doc = r""]
26245 #[doc = r" <details><summary>JSON schema</summary>"]
26246 #[doc = r""]
26247 #[doc = r" ```json"]
26248 #[doc = "{"]
26249 #[doc = " \"description\": \"Data structure for semver version and github tag or commit.\","]
26250 #[doc = " \"type\": \"object\","]
26251 #[doc = " \"required\": ["]
26252 #[doc = " \"build\","]
26253 #[doc = " \"commit\","]
26254 #[doc = " \"version\""]
26255 #[doc = " ],"]
26256 #[doc = " \"properties\": {"]
26257 #[doc = " \"build\": {"]
26258 #[doc = " \"type\": \"string\""]
26259 #[doc = " },"]
26260 #[doc = " \"commit\": {"]
26261 #[doc = " \"type\": \"string\""]
26262 #[doc = " },"]
26263 #[doc = " \"rustc_version\": {"]
26264 #[doc = " \"default\": \"\","]
26265 #[doc = " \"type\": \"string\""]
26266 #[doc = " },"]
26267 #[doc = " \"version\": {"]
26268 #[doc = " \"type\": \"string\""]
26269 #[doc = " }"]
26270 #[doc = " }"]
26271 #[doc = "}"]
26272 #[doc = r" ```"]
26273 #[doc = r" </details>"]
26274 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26275 pub struct Version {
26276 pub build: ::std::string::String,
26277 pub commit: ::std::string::String,
26278 #[serde(default)]
26279 pub rustc_version: ::std::string::String,
26280 pub version: ::std::string::String,
26281 }
26282 impl ::std::convert::From<&Version> for Version {
26283 fn from(value: &Version) -> Self {
26284 value.clone()
26285 }
26286 }
26287 #[doc = "`ViewStateResult`"]
26288 #[doc = r""]
26289 #[doc = r" <details><summary>JSON schema</summary>"]
26290 #[doc = r""]
26291 #[doc = r" ```json"]
26292 #[doc = "{"]
26293 #[doc = " \"type\": \"object\","]
26294 #[doc = " \"required\": ["]
26295 #[doc = " \"values\""]
26296 #[doc = " ],"]
26297 #[doc = " \"properties\": {"]
26298 #[doc = " \"proof\": {"]
26299 #[doc = " \"type\": \"array\","]
26300 #[doc = " \"items\": {"]
26301 #[doc = " \"type\": \"string\""]
26302 #[doc = " }"]
26303 #[doc = " },"]
26304 #[doc = " \"values\": {"]
26305 #[doc = " \"type\": \"array\","]
26306 #[doc = " \"items\": {"]
26307 #[doc = " \"$ref\": \"#/components/schemas/StateItem\""]
26308 #[doc = " }"]
26309 #[doc = " }"]
26310 #[doc = " }"]
26311 #[doc = "}"]
26312 #[doc = r" ```"]
26313 #[doc = r" </details>"]
26314 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26315 pub struct ViewStateResult {
26316 #[serde(default, skip_serializing_if = "::std::vec::Vec::is_empty")]
26317 pub proof: ::std::vec::Vec<::std::string::String>,
26318 pub values: ::std::vec::Vec<StateItem>,
26319 }
26320 impl ::std::convert::From<&ViewStateResult> for ViewStateResult {
26321 fn from(value: &ViewStateResult) -> Self {
26322 value.clone()
26323 }
26324 }
26325 #[doc = "`VmConfigView`"]
26326 #[doc = r""]
26327 #[doc = r" <details><summary>JSON schema</summary>"]
26328 #[doc = r""]
26329 #[doc = r" ```json"]
26330 #[doc = "{"]
26331 #[doc = " \"type\": \"object\","]
26332 #[doc = " \"required\": ["]
26333 #[doc = " \"discard_custom_sections\","]
26334 #[doc = " \"eth_implicit_accounts\","]
26335 #[doc = " \"ext_costs\","]
26336 #[doc = " \"fix_contract_loading_cost\","]
26337 #[doc = " \"global_contract_host_fns\","]
26338 #[doc = " \"grow_mem_cost\","]
26339 #[doc = " \"implicit_account_creation\","]
26340 #[doc = " \"limit_config\","]
26341 #[doc = " \"regular_op_cost\","]
26342 #[doc = " \"saturating_float_to_int\","]
26343 #[doc = " \"storage_get_mode\","]
26344 #[doc = " \"vm_kind\""]
26345 #[doc = " ],"]
26346 #[doc = " \"properties\": {"]
26347 #[doc = " \"discard_custom_sections\": {"]
26348 #[doc = " \"description\": \"See [VMConfig::discard_custom_sections](crate::vm::Config::discard_custom_sections).\","]
26349 #[doc = " \"type\": \"boolean\""]
26350 #[doc = " },"]
26351 #[doc = " \"eth_implicit_accounts\": {"]
26352 #[doc = " \"description\": \"See [VMConfig::eth_implicit_accounts](crate::vm::Config::eth_implicit_accounts).\","]
26353 #[doc = " \"type\": \"boolean\""]
26354 #[doc = " },"]
26355 #[doc = " \"ext_costs\": {"]
26356 #[doc = " \"description\": \"Costs for runtime externals\","]
26357 #[doc = " \"allOf\": ["]
26358 #[doc = " {"]
26359 #[doc = " \"$ref\": \"#/components/schemas/ExtCostsConfigView\""]
26360 #[doc = " }"]
26361 #[doc = " ]"]
26362 #[doc = " },"]
26363 #[doc = " \"fix_contract_loading_cost\": {"]
26364 #[doc = " \"description\": \"See [VMConfig::fix_contract_loading_cost](crate::vm::Config::fix_contract_loading_cost).\","]
26365 #[doc = " \"type\": \"boolean\""]
26366 #[doc = " },"]
26367 #[doc = " \"global_contract_host_fns\": {"]
26368 #[doc = " \"description\": \"See [VMConfig::global_contract_host_fns](crate::vm::Config::global_contract_host_fns).\","]
26369 #[doc = " \"type\": \"boolean\""]
26370 #[doc = " },"]
26371 #[doc = " \"grow_mem_cost\": {"]
26372 #[doc = " \"description\": \"Gas cost of a growing memory by single page.\","]
26373 #[doc = " \"type\": \"integer\","]
26374 #[doc = " \"format\": \"uint32\","]
26375 #[doc = " \"minimum\": 0.0"]
26376 #[doc = " },"]
26377 #[doc = " \"implicit_account_creation\": {"]
26378 #[doc = " \"description\": \"See [VMConfig::implicit_account_creation](crate::vm::Config::implicit_account_creation).\","]
26379 #[doc = " \"type\": \"boolean\""]
26380 #[doc = " },"]
26381 #[doc = " \"limit_config\": {"]
26382 #[doc = " \"description\": \"Describes limits for VM and Runtime.\\n\\n TODO: Consider changing this to `VMLimitConfigView` to avoid dependency\\n on runtime.\","]
26383 #[doc = " \"allOf\": ["]
26384 #[doc = " {"]
26385 #[doc = " \"$ref\": \"#/components/schemas/LimitConfig\""]
26386 #[doc = " }"]
26387 #[doc = " ]"]
26388 #[doc = " },"]
26389 #[doc = " \"regular_op_cost\": {"]
26390 #[doc = " \"description\": \"Gas cost of a regular operation.\","]
26391 #[doc = " \"type\": \"integer\","]
26392 #[doc = " \"format\": \"uint32\","]
26393 #[doc = " \"minimum\": 0.0"]
26394 #[doc = " },"]
26395 #[doc = " \"saturating_float_to_int\": {"]
26396 #[doc = " \"description\": \"See [VMConfig::saturating_float_to_int](crate::vm::Config::saturating_float_to_int).\","]
26397 #[doc = " \"type\": \"boolean\""]
26398 #[doc = " },"]
26399 #[doc = " \"storage_get_mode\": {"]
26400 #[doc = " \"description\": \"See [VMConfig::storage_get_mode](crate::vm::Config::storage_get_mode).\","]
26401 #[doc = " \"allOf\": ["]
26402 #[doc = " {"]
26403 #[doc = " \"$ref\": \"#/components/schemas/StorageGetMode\""]
26404 #[doc = " }"]
26405 #[doc = " ]"]
26406 #[doc = " },"]
26407 #[doc = " \"vm_kind\": {"]
26408 #[doc = " \"description\": \"See [VMConfig::vm_kind](crate::vm::Config::vm_kind).\","]
26409 #[doc = " \"allOf\": ["]
26410 #[doc = " {"]
26411 #[doc = " \"$ref\": \"#/components/schemas/VMKind\""]
26412 #[doc = " }"]
26413 #[doc = " ]"]
26414 #[doc = " }"]
26415 #[doc = " }"]
26416 #[doc = "}"]
26417 #[doc = r" ```"]
26418 #[doc = r" </details>"]
26419 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26420 pub struct VmConfigView {
26421 #[doc = "See [VMConfig::discard_custom_sections](crate::vm::Config::discard_custom_sections)."]
26422 pub discard_custom_sections: bool,
26423 #[doc = "See [VMConfig::eth_implicit_accounts](crate::vm::Config::eth_implicit_accounts)."]
26424 pub eth_implicit_accounts: bool,
26425 #[doc = "Costs for runtime externals"]
26426 pub ext_costs: ExtCostsConfigView,
26427 #[doc = "See [VMConfig::fix_contract_loading_cost](crate::vm::Config::fix_contract_loading_cost)."]
26428 pub fix_contract_loading_cost: bool,
26429 #[doc = "See [VMConfig::global_contract_host_fns](crate::vm::Config::global_contract_host_fns)."]
26430 pub global_contract_host_fns: bool,
26431 #[doc = "Gas cost of a growing memory by single page."]
26432 pub grow_mem_cost: u32,
26433 #[doc = "See [VMConfig::implicit_account_creation](crate::vm::Config::implicit_account_creation)."]
26434 pub implicit_account_creation: bool,
26435 #[doc = "Describes limits for VM and Runtime.\n\n TODO: Consider changing this to `VMLimitConfigView` to avoid dependency\n on runtime."]
26436 pub limit_config: LimitConfig,
26437 #[doc = "Gas cost of a regular operation."]
26438 pub regular_op_cost: u32,
26439 #[doc = "See [VMConfig::saturating_float_to_int](crate::vm::Config::saturating_float_to_int)."]
26440 pub saturating_float_to_int: bool,
26441 #[doc = "See [VMConfig::storage_get_mode](crate::vm::Config::storage_get_mode)."]
26442 pub storage_get_mode: StorageGetMode,
26443 #[doc = "See [VMConfig::vm_kind](crate::vm::Config::vm_kind)."]
26444 pub vm_kind: VmKind,
26445 }
26446 impl ::std::convert::From<&VmConfigView> for VmConfigView {
26447 fn from(value: &VmConfigView) -> Self {
26448 value.clone()
26449 }
26450 }
26451 #[doc = "`VmKind`"]
26452 #[doc = r""]
26453 #[doc = r" <details><summary>JSON schema</summary>"]
26454 #[doc = r""]
26455 #[doc = r" ```json"]
26456 #[doc = "{"]
26457 #[doc = " \"oneOf\": ["]
26458 #[doc = " {"]
26459 #[doc = " \"description\": \"Wasmer 0.17.x VM. Gone now.\","]
26460 #[doc = " \"type\": \"string\","]
26461 #[doc = " \"enum\": ["]
26462 #[doc = " \"Wasmer0\""]
26463 #[doc = " ]"]
26464 #[doc = " },"]
26465 #[doc = " {"]
26466 #[doc = " \"description\": \"Wasmtime VM.\","]
26467 #[doc = " \"type\": \"string\","]
26468 #[doc = " \"enum\": ["]
26469 #[doc = " \"Wasmtime\""]
26470 #[doc = " ]"]
26471 #[doc = " },"]
26472 #[doc = " {"]
26473 #[doc = " \"description\": \"Wasmer 2.x VM.\","]
26474 #[doc = " \"type\": \"string\","]
26475 #[doc = " \"enum\": ["]
26476 #[doc = " \"Wasmer2\""]
26477 #[doc = " ]"]
26478 #[doc = " },"]
26479 #[doc = " {"]
26480 #[doc = " \"description\": \"NearVM.\","]
26481 #[doc = " \"type\": \"string\","]
26482 #[doc = " \"enum\": ["]
26483 #[doc = " \"NearVm\""]
26484 #[doc = " ]"]
26485 #[doc = " }"]
26486 #[doc = " ]"]
26487 #[doc = "}"]
26488 #[doc = r" ```"]
26489 #[doc = r" </details>"]
26490 #[derive(
26491 :: serde :: Deserialize,
26492 :: serde :: Serialize,
26493 Clone,
26494 Copy,
26495 Debug,
26496 Eq,
26497 Hash,
26498 Ord,
26499 PartialEq,
26500 PartialOrd,
26501 )]
26502 pub enum VmKind {
26503 #[doc = "Wasmer 0.17.x VM. Gone now."]
26504 Wasmer0,
26505 #[doc = "Wasmtime VM."]
26506 Wasmtime,
26507 #[doc = "Wasmer 2.x VM."]
26508 Wasmer2,
26509 #[doc = "NearVM."]
26510 NearVm,
26511 }
26512 impl ::std::convert::From<&Self> for VmKind {
26513 fn from(value: &VmKind) -> Self {
26514 value.clone()
26515 }
26516 }
26517 impl ::std::fmt::Display for VmKind {
26518 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
26519 match *self {
26520 Self::Wasmer0 => write!(f, "Wasmer0"),
26521 Self::Wasmtime => write!(f, "Wasmtime"),
26522 Self::Wasmer2 => write!(f, "Wasmer2"),
26523 Self::NearVm => write!(f, "NearVm"),
26524 }
26525 }
26526 }
26527 impl ::std::str::FromStr for VmKind {
26528 type Err = self::error::ConversionError;
26529 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
26530 match value {
26531 "Wasmer0" => Ok(Self::Wasmer0),
26532 "Wasmtime" => Ok(Self::Wasmtime),
26533 "Wasmer2" => Ok(Self::Wasmer2),
26534 "NearVm" => Ok(Self::NearVm),
26535 _ => Err("invalid value".into()),
26536 }
26537 }
26538 }
26539 impl ::std::convert::TryFrom<&str> for VmKind {
26540 type Error = self::error::ConversionError;
26541 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
26542 value.parse()
26543 }
26544 }
26545 impl ::std::convert::TryFrom<&::std::string::String> for VmKind {
26546 type Error = self::error::ConversionError;
26547 fn try_from(
26548 value: &::std::string::String,
26549 ) -> ::std::result::Result<Self, self::error::ConversionError> {
26550 value.parse()
26551 }
26552 }
26553 impl ::std::convert::TryFrom<::std::string::String> for VmKind {
26554 type Error = self::error::ConversionError;
26555 fn try_from(
26556 value: ::std::string::String,
26557 ) -> ::std::result::Result<Self, self::error::ConversionError> {
26558 value.parse()
26559 }
26560 }
26561 #[doc = "A kind of a trap happened during execution of a binary"]
26562 #[doc = r""]
26563 #[doc = r" <details><summary>JSON schema</summary>"]
26564 #[doc = r""]
26565 #[doc = r" ```json"]
26566 #[doc = "{"]
26567 #[doc = " \"description\": \"A kind of a trap happened during execution of a binary\","]
26568 #[doc = " \"oneOf\": ["]
26569 #[doc = " {"]
26570 #[doc = " \"description\": \"An `unreachable` opcode was executed.\","]
26571 #[doc = " \"type\": \"string\","]
26572 #[doc = " \"enum\": ["]
26573 #[doc = " \"Unreachable\""]
26574 #[doc = " ]"]
26575 #[doc = " },"]
26576 #[doc = " {"]
26577 #[doc = " \"description\": \"Call indirect incorrect signature trap.\","]
26578 #[doc = " \"type\": \"string\","]
26579 #[doc = " \"enum\": ["]
26580 #[doc = " \"IncorrectCallIndirectSignature\""]
26581 #[doc = " ]"]
26582 #[doc = " },"]
26583 #[doc = " {"]
26584 #[doc = " \"description\": \"Memory out of bounds trap.\","]
26585 #[doc = " \"type\": \"string\","]
26586 #[doc = " \"enum\": ["]
26587 #[doc = " \"MemoryOutOfBounds\""]
26588 #[doc = " ]"]
26589 #[doc = " },"]
26590 #[doc = " {"]
26591 #[doc = " \"description\": \"Call indirect out of bounds trap.\","]
26592 #[doc = " \"type\": \"string\","]
26593 #[doc = " \"enum\": ["]
26594 #[doc = " \"CallIndirectOOB\""]
26595 #[doc = " ]"]
26596 #[doc = " },"]
26597 #[doc = " {"]
26598 #[doc = " \"description\": \"An arithmetic exception, e.g. divided by zero.\","]
26599 #[doc = " \"type\": \"string\","]
26600 #[doc = " \"enum\": ["]
26601 #[doc = " \"IllegalArithmetic\""]
26602 #[doc = " ]"]
26603 #[doc = " },"]
26604 #[doc = " {"]
26605 #[doc = " \"description\": \"Misaligned atomic access trap.\","]
26606 #[doc = " \"type\": \"string\","]
26607 #[doc = " \"enum\": ["]
26608 #[doc = " \"MisalignedAtomicAccess\""]
26609 #[doc = " ]"]
26610 #[doc = " },"]
26611 #[doc = " {"]
26612 #[doc = " \"description\": \"Indirect call to null.\","]
26613 #[doc = " \"type\": \"string\","]
26614 #[doc = " \"enum\": ["]
26615 #[doc = " \"IndirectCallToNull\""]
26616 #[doc = " ]"]
26617 #[doc = " },"]
26618 #[doc = " {"]
26619 #[doc = " \"description\": \"Stack overflow.\","]
26620 #[doc = " \"type\": \"string\","]
26621 #[doc = " \"enum\": ["]
26622 #[doc = " \"StackOverflow\""]
26623 #[doc = " ]"]
26624 #[doc = " },"]
26625 #[doc = " {"]
26626 #[doc = " \"description\": \"Generic trap.\","]
26627 #[doc = " \"type\": \"string\","]
26628 #[doc = " \"enum\": ["]
26629 #[doc = " \"GenericTrap\""]
26630 #[doc = " ]"]
26631 #[doc = " }"]
26632 #[doc = " ]"]
26633 #[doc = "}"]
26634 #[doc = r" ```"]
26635 #[doc = r" </details>"]
26636 #[derive(
26637 :: serde :: Deserialize,
26638 :: serde :: Serialize,
26639 Clone,
26640 Copy,
26641 Debug,
26642 Eq,
26643 Hash,
26644 Ord,
26645 PartialEq,
26646 PartialOrd,
26647 )]
26648 pub enum WasmTrap {
26649 #[doc = "An `unreachable` opcode was executed."]
26650 Unreachable,
26651 #[doc = "Call indirect incorrect signature trap."]
26652 IncorrectCallIndirectSignature,
26653 #[doc = "Memory out of bounds trap."]
26654 MemoryOutOfBounds,
26655 #[doc = "Call indirect out of bounds trap."]
26656 #[serde(rename = "CallIndirectOOB")]
26657 CallIndirectOob,
26658 #[doc = "An arithmetic exception, e.g. divided by zero."]
26659 IllegalArithmetic,
26660 #[doc = "Misaligned atomic access trap."]
26661 MisalignedAtomicAccess,
26662 #[doc = "Indirect call to null."]
26663 IndirectCallToNull,
26664 #[doc = "Stack overflow."]
26665 StackOverflow,
26666 #[doc = "Generic trap."]
26667 GenericTrap,
26668 }
26669 impl ::std::convert::From<&Self> for WasmTrap {
26670 fn from(value: &WasmTrap) -> Self {
26671 value.clone()
26672 }
26673 }
26674 impl ::std::fmt::Display for WasmTrap {
26675 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
26676 match *self {
26677 Self::Unreachable => write!(f, "Unreachable"),
26678 Self::IncorrectCallIndirectSignature => write!(f, "IncorrectCallIndirectSignature"),
26679 Self::MemoryOutOfBounds => write!(f, "MemoryOutOfBounds"),
26680 Self::CallIndirectOob => write!(f, "CallIndirectOOB"),
26681 Self::IllegalArithmetic => write!(f, "IllegalArithmetic"),
26682 Self::MisalignedAtomicAccess => write!(f, "MisalignedAtomicAccess"),
26683 Self::IndirectCallToNull => write!(f, "IndirectCallToNull"),
26684 Self::StackOverflow => write!(f, "StackOverflow"),
26685 Self::GenericTrap => write!(f, "GenericTrap"),
26686 }
26687 }
26688 }
26689 impl ::std::str::FromStr for WasmTrap {
26690 type Err = self::error::ConversionError;
26691 fn from_str(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
26692 match value {
26693 "Unreachable" => Ok(Self::Unreachable),
26694 "IncorrectCallIndirectSignature" => Ok(Self::IncorrectCallIndirectSignature),
26695 "MemoryOutOfBounds" => Ok(Self::MemoryOutOfBounds),
26696 "CallIndirectOOB" => Ok(Self::CallIndirectOob),
26697 "IllegalArithmetic" => Ok(Self::IllegalArithmetic),
26698 "MisalignedAtomicAccess" => Ok(Self::MisalignedAtomicAccess),
26699 "IndirectCallToNull" => Ok(Self::IndirectCallToNull),
26700 "StackOverflow" => Ok(Self::StackOverflow),
26701 "GenericTrap" => Ok(Self::GenericTrap),
26702 _ => Err("invalid value".into()),
26703 }
26704 }
26705 }
26706 impl ::std::convert::TryFrom<&str> for WasmTrap {
26707 type Error = self::error::ConversionError;
26708 fn try_from(value: &str) -> ::std::result::Result<Self, self::error::ConversionError> {
26709 value.parse()
26710 }
26711 }
26712 impl ::std::convert::TryFrom<&::std::string::String> for WasmTrap {
26713 type Error = self::error::ConversionError;
26714 fn try_from(
26715 value: &::std::string::String,
26716 ) -> ::std::result::Result<Self, self::error::ConversionError> {
26717 value.parse()
26718 }
26719 }
26720 impl ::std::convert::TryFrom<::std::string::String> for WasmTrap {
26721 type Error = self::error::ConversionError;
26722 fn try_from(
26723 value: ::std::string::String,
26724 ) -> ::std::result::Result<Self, self::error::ConversionError> {
26725 value.parse()
26726 }
26727 }
26728 #[doc = "Configuration specific to ChunkStateWitness."]
26729 #[doc = r""]
26730 #[doc = r" <details><summary>JSON schema</summary>"]
26731 #[doc = r""]
26732 #[doc = r" ```json"]
26733 #[doc = "{"]
26734 #[doc = " \"description\": \"Configuration specific to ChunkStateWitness.\","]
26735 #[doc = " \"type\": \"object\","]
26736 #[doc = " \"required\": ["]
26737 #[doc = " \"combined_transactions_size_limit\","]
26738 #[doc = " \"main_storage_proof_size_soft_limit\","]
26739 #[doc = " \"new_transactions_validation_state_size_soft_limit\""]
26740 #[doc = " ],"]
26741 #[doc = " \"properties\": {"]
26742 #[doc = " \"combined_transactions_size_limit\": {"]
26743 #[doc = " \"description\": \"A witness contains transactions from both the previous chunk and the current one.\\n This parameter limits the sum of sizes of transactions from both of those chunks.\","]
26744 #[doc = " \"type\": \"integer\","]
26745 #[doc = " \"format\": \"uint\","]
26746 #[doc = " \"minimum\": 0.0"]
26747 #[doc = " },"]
26748 #[doc = " \"main_storage_proof_size_soft_limit\": {"]
26749 #[doc = " \"description\": \"Size limit for storage proof generated while executing receipts in a chunk.\\n After this limit is reached we defer execution of any new receipts.\","]
26750 #[doc = " \"type\": \"integer\","]
26751 #[doc = " \"format\": \"uint\","]
26752 #[doc = " \"minimum\": 0.0"]
26753 #[doc = " },"]
26754 #[doc = " \"new_transactions_validation_state_size_soft_limit\": {"]
26755 #[doc = " \"description\": \"Soft size limit of storage proof used to validate new transactions in ChunkStateWitness.\","]
26756 #[doc = " \"type\": \"integer\","]
26757 #[doc = " \"format\": \"uint\","]
26758 #[doc = " \"minimum\": 0.0"]
26759 #[doc = " }"]
26760 #[doc = " }"]
26761 #[doc = "}"]
26762 #[doc = r" ```"]
26763 #[doc = r" </details>"]
26764 #[derive(:: serde :: Deserialize, :: serde :: Serialize, Clone, Debug)]
26765 pub struct WitnessConfigView {
26766 #[doc = "A witness contains transactions from both the previous chunk and the current one.\n This parameter limits the sum of sizes of transactions from both of those chunks."]
26767 pub combined_transactions_size_limit: u32,
26768 #[doc = "Size limit for storage proof generated while executing receipts in a chunk.\n After this limit is reached we defer execution of any new receipts."]
26769 pub main_storage_proof_size_soft_limit: u32,
26770 #[doc = "Soft size limit of storage proof used to validate new transactions in ChunkStateWitness."]
26771 pub new_transactions_validation_state_size_soft_limit: u32,
26772 }
26773 impl ::std::convert::From<&WitnessConfigView> for WitnessConfigView {
26774 fn from(value: &WitnessConfigView) -> Self {
26775 value.clone()
26776 }
26777 }
26778 #[doc = r" Generation of default values for serde."]
26779 pub mod defaults {
26780 pub(super) fn default_u64<T, const V: u64>() -> T
26781 where
26782 T: ::std::convert::TryFrom<u64>,
26783 <T as ::std::convert::TryFrom<u64>>::Error: ::std::fmt::Debug,
26784 {
26785 T::try_from(V).unwrap()
26786 }
26787 pub(super) fn execution_outcome_view_metadata() -> super::ExecutionMetadataView {
26788 super::ExecutionMetadataView {
26789 gas_profile: Default::default(),
26790 version: 1_u32,
26791 }
26792 }
26793 pub(super) fn gc_config_gc_step_period() -> super::DurationAsStdSchemaProvider {
26794 super::DurationAsStdSchemaProvider {
26795 nanos: 0_i32,
26796 secs: 1_i64,
26797 }
26798 }
26799 pub(super) fn genesis_config_minimum_stake_ratio() -> [i32; 2usize] {
26800 [1_i32, 6250_i32]
26801 }
26802 pub(super) fn genesis_config_online_max_threshold() -> [i32; 2usize] {
26803 [99_i32, 100_i32]
26804 }
26805 pub(super) fn genesis_config_online_min_threshold() -> [i32; 2usize] {
26806 [9_i32, 10_i32]
26807 }
26808 pub(super) fn genesis_config_protocol_upgrade_stake_threshold() -> [i32; 2usize] {
26809 [4_i32, 5_i32]
26810 }
26811 pub(super) fn genesis_config_shard_layout() -> super::ShardLayout {
26812 super::ShardLayout::V2(super::ShardLayoutV2 {
26813 boundary_accounts: vec![],
26814 id_to_index_map: [("0".to_string(), 0_u32)].into_iter().collect(),
26815 index_to_id_map: [("0".to_string(), super::ShardId(0_u64))]
26816 .into_iter()
26817 .collect(),
26818 shard_ids: vec![super::ShardId(0_u64)],
26819 shards_parent_map: ::std::option::Option::None,
26820 shards_split_map: ::std::option::Option::None,
26821 version: 0_u32,
26822 })
26823 }
26824 pub(super) fn limit_config_account_id_validity_rules_version(
26825 ) -> super::AccountIdValidityRulesVersion {
26826 super::AccountIdValidityRulesVersion(0_u8)
26827 }
26828 pub(super) fn rpc_send_transaction_request_wait_until() -> super::TxExecutionStatus {
26829 super::TxExecutionStatus::ExecutedOptimistic
26830 }
26831 pub(super) fn rpc_transaction_status_request_variant0_wait_until(
26832 ) -> super::TxExecutionStatus {
26833 super::TxExecutionStatus::ExecutedOptimistic
26834 }
26835 pub(super) fn rpc_transaction_status_request_variant1_wait_until(
26836 ) -> super::TxExecutionStatus {
26837 super::TxExecutionStatus::ExecutedOptimistic
26838 }
26839 }