/__w/smoldot/smoldot/repo/lib/src/chain_spec/structs.rs
Line | Count | Source (jump to first uncovered line) |
1 | | // Smoldot |
2 | | // Copyright (C) 2019-2022 Parity Technologies (UK) Ltd. |
3 | | // SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 |
4 | | |
5 | | // This program is free software: you can redistribute it and/or modify |
6 | | // it under the terms of the GNU General Public License as published by |
7 | | // the Free Software Foundation, either version 3 of the License, or |
8 | | // (at your option) any later version. |
9 | | |
10 | | // This program is distributed in the hope that it will be useful, |
11 | | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | | // GNU General Public License for more details. |
14 | | |
15 | | // You should have received a copy of the GNU General Public License |
16 | | // along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | | |
18 | | //! Type definitions that implement the [`serde::Serialize`] and [`serde::Deserialize`] traits and |
19 | | //! that match the chain specs JSON file structure. |
20 | | //! |
21 | | //! The main type is [`ClientSpec`]. |
22 | | |
23 | | use super::light_sync_state::LightSyncState; |
24 | | |
25 | | use alloc::{boxed::Box, collections::BTreeMap, format, string::String, vec::Vec}; |
26 | | use fnv::FnvBuildHasher; |
27 | | use hashbrown::{HashMap, HashSet}; |
28 | | use serde::{Deserialize, Serialize}; |
29 | | |
30 | 573 | #[derive(Serialize, D301 eserialize, Clone, Debug)] _RINvXs_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1f_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2G_4read9SliceReadEEBe_ Line | Count | Source | 30 | 62 | #[derive(Serialize, Deserialize, Clone, Debug)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2Q_4read9SliceReadEEBf_ _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2Q_4read9SliceReadEEBf_ Line | Count | Source | 30 | 70 | #[derive(Serialize, D8 eserialize, Clone, Debug)] |
_RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBc_ Line | Count | Source | 30 | 62 | #[derive(Serialize, Deserialize, Clone, Debug)] |
Unexecuted instantiation: _RNvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1h_7Visitor9expecting Unexecuted instantiation: _RNvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtB7_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1e_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2R_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2R_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1g_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2H_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB7_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1f_7Visitor9expecting Unexecuted instantiation: _RNvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1i_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_strpEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1g_11deserializepEBe_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_seqpEBf_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_mappEBf_ _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 30 | 20 | #[derive(Serialize, Deserialize, Clone, Debug)] |
_RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2R_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 30 | 22 | #[derive(Serialize, D2 eserialize, Clone, Debug)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2R_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1g_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2H_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 30 | 20 | #[derive(Serialize, Deserialize, Clone, Debug)] |
Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2R_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2R_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1g_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2H_4read9SliceReadEECscDgN54JpMGG_6author _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtB8_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 30 | 190 | #[derive(Serialize, Deserialize, Clone, Debug)] |
_RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2R_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 30 | 209 | #[derive(Serialize, D19 eserialize, Clone, Debug)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBb_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2R_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss_1__NtBa_10ClientSpecNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1g_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2H_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 30 | 190 | #[derive(Serialize, Deserialize, Clone, Debug)] |
|
31 | | #[serde(rename_all = "camelCase")] |
32 | | #[serde(deny_unknown_fields)] |
33 | | pub(super) struct ClientSpec { |
34 | | pub(super) name: String, |
35 | | pub(super) id: String, |
36 | | #[serde(default)] |
37 | | pub(super) chain_type: ChainType, |
38 | | |
39 | | /// Mapping from a block number to a hex-encoded wasm runtime code (normally found in the |
40 | | /// `:code` storage key). |
41 | | /// |
42 | | /// The given runtime code will be used to substitute the on-chain runtime code starting with |
43 | | /// the given block number until the `spec_version` |
44 | | /// ([`crate::executor::host::CoreVersionRef::spec_version`]) on chain changes. |
45 | | #[serde(default, skip_serializing_if = "HashMap::is_empty")] |
46 | | // TODO: make use of this |
47 | | pub(super) code_substitutes: HashMap<u64, HexString, fnv::FnvBuildHasher>, |
48 | | pub(super) boot_nodes: Vec<String>, |
49 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
50 | | pub(super) telemetry_endpoints: Option<Vec<(String, u8)>>, |
51 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
52 | | pub(super) protocol_id: Option<String>, |
53 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
54 | | pub(super) fork_id: Option<String>, |
55 | | /// The `blockNumberBytes` field is (at the time of writing of this comment) a custom addition |
56 | | /// to the format of smoldot chain specs compared to Substrate. It is necessary because, |
57 | | /// contrary to Substrate, smoldot has no way to know the size of the block number field of |
58 | | /// various data structures. If the field is missing, a value of 4 is assumed. |
59 | | // TODO: revisit this field in the future to maybe bring compatibility with Substrate |
60 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
61 | | pub(super) block_number_bytes: Option<u8>, |
62 | | pub(super) properties: Option<Box<serde_json::value::RawValue>>, |
63 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
64 | | // TODO: make use of this |
65 | | pub(super) fork_blocks: Option<Vec<(u64, HashHexString)>>, |
66 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
67 | | pub(super) bad_blocks: Option<HashSet<HashHexString, FnvBuildHasher>>, |
68 | | // Unused but for some reason still part of the chain specs. |
69 | | #[serde(default, skip_serializing)] |
70 | | #[allow(unused)] |
71 | | pub(super) consensus_engine: (), |
72 | | pub(super) genesis: Genesis, |
73 | | #[serde(default = "Default::default", skip_serializing_if = "Option::is_none")] |
74 | | pub(super) light_sync_state: Option<LightSyncState>, |
75 | | // Note that in Substrate/Cumulus this field is only named `relay_chain` and `relayChain` is |
76 | | // not accepted (as of 2022-06-09). This seems to be an oversight, as there are only two |
77 | | // fields that use snake_case while the rest uses camelCase. For this reason, smoldot |
78 | | // supports both. |
79 | | #[serde(alias = "relay_chain")] |
80 | | pub(super) relay_chain: Option<String>, |
81 | | // Same remark concerning the name as `relay_chain` |
82 | | #[serde(alias = "para_id")] |
83 | | pub(super) para_id: Option<u32>, |
84 | | } |
85 | | |
86 | 48 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] _RINvXs_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1e_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2G_4read9SliceReadEEBe_ Line | Count | Source | 86 | 3 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
Unexecuted instantiation: _RNvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtB7_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1d_7Visitor9expecting _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1e_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBc_ Line | Count | Source | 86 | 3 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1h_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2R_4read9SliceReadEEBf_ _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1h_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2R_4read9SliceReadEEBf_ Line | Count | Source | 86 | 3 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1e_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1e_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1g_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2S_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2S_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1f_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2H_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB7_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1e_7Visitor9expecting Unexecuted instantiation: _RNvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1h_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_strpEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1f_11deserializepEBe_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumpEBf_ _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 86 | 2 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2S_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2S_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 86 | 2 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
_RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1f_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2H_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 86 | 2 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2S_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2S_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1f_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2H_4read9SliceReadEECscDgN54JpMGG_6author _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtB8_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1f_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 86 | 19 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2S_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBb_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1i_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2S_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 86 | 19 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
_RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss1_1__NtBa_9ChainTypeNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1f_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2H_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 86 | 19 | #[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] |
|
87 | | pub(super) enum ChainType { |
88 | | Development, |
89 | | Local, |
90 | | Live, |
91 | | Custom(String), |
92 | | } |
93 | | |
94 | | impl Default for ChainType { |
95 | 5 | fn default() -> Self { |
96 | 5 | Self::Live |
97 | 5 | } _RNvXNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB2_9ChainTypeNtNtCsaYZPK01V26L_4core7default7Default7default Line | Count | Source | 95 | 5 | fn default() -> Self { | 96 | 5 | Self::Live | 97 | 5 | } |
Unexecuted instantiation: _RNvXNtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB2_9ChainTypeNtNtCsaYZPK01V26L_4core7default7Default7default |
98 | | } |
99 | | |
100 | 58 | #[derive(Debug, Clone, Serialize, Deserialize)] _RINvXs_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1c_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2E_4read9SliceReadEEBe_ Line | Count | Source | 100 | 8 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RNvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtB7_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1b_7Visitor9expecting _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1c_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBc_ Line | Count | Source | 100 | 8 | #[derive(Debug, Clone, Serialize, Deserialize)] |
_RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1f_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2P_4read9SliceReadEEBf_ Line | Count | Source | 100 | 8 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1f_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2P_4read9SliceReadEEBf_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1c_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1c_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1e_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2Q_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2Q_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1d_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2F_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB7_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1c_7Visitor9expecting Unexecuted instantiation: _RNvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1f_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor9visit_strpEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1d_11deserializepEBe_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumpEBf_ _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 100 | 2 | #[derive(Debug, Clone, Serialize, Deserialize)] |
_RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2Q_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 100 | 2 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2Q_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1d_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2F_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 100 | 2 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2Q_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2Q_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1d_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2F_4read9SliceReadEECscDgN54JpMGG_6author _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtB8_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1d_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 100 | 19 | #[derive(Debug, Clone, Serialize, Deserialize)] |
_RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de13VariantAccessNtNtB2Q_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 100 | 19 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBb_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1g_7Visitor10visit_enumINtNtCscu7pqq74Vb8_10serde_json2de17UnitVariantAccessNtNtB2Q_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss3_1__NtBa_7GenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1d_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB2F_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 100 | 19 | #[derive(Debug, Clone, Serialize, Deserialize)] |
|
101 | | #[serde(rename_all = "camelCase")] |
102 | | #[serde(deny_unknown_fields)] |
103 | | pub(super) enum Genesis { |
104 | | Raw(RawGenesis), |
105 | | StateRootHash(HashHexString), |
106 | | } |
107 | | |
108 | 145 | #[derive(Debug, Clone, Serialize, D87 eserialize)] _RINvXs_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1g_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2H_4read9SliceReadEEBe_ Line | Count | Source | 108 | 16 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2R_4read9SliceReadEEBf_ _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1j_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2R_4read9SliceReadEEBf_ Line | Count | Source | 108 | 24 | #[derive(Debug, Clone, Serialize, D8 eserialize)] |
_RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBc_ Line | Count | Source | 108 | 16 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RNvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1i_7Visitor9expecting Unexecuted instantiation: _RNvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtB7_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1f_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1g_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2S_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2S_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1h_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2I_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB7_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1g_7Visitor9expecting Unexecuted instantiation: _RNvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1j_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor9visit_strpEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1h_11deserializepEBe_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_seqpEBf_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_mappEBf_ _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 108 | 4 | #[derive(Debug, Clone, Serialize, Deserialize)] |
_RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2S_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 108 | 6 | #[derive(Debug, Clone, Serialize, D2 eserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2S_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1h_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2I_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 108 | 4 | #[derive(Debug, Clone, Serialize, Deserialize)] |
Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2S_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2S_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1h_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2I_4read9SliceReadEECscDgN54JpMGG_6author _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtB8_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1h_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 108 | 38 | #[derive(Debug, Clone, Serialize, Deserialize)] |
_RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2S_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 108 | 57 | #[derive(Debug, Clone, Serialize, D19 eserialize)] |
Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBb_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1k_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2S_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss5_1__NtBa_10RawGenesisNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1h_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2I_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 108 | 38 | #[derive(Debug, Clone, Serialize, Deserialize)] |
|
109 | | #[serde(rename_all = "camelCase")] |
110 | | #[serde(deny_unknown_fields)] |
111 | | pub(super) struct RawGenesis { |
112 | | pub(super) top: BTreeMap<HexString, HexString>, |
113 | | pub(super) children_default: BTreeMap<HexString, ChildRawStorage>, |
114 | | } |
115 | | |
116 | | #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] |
117 | | pub(super) struct HexString(pub(super) Vec<u8>); |
118 | | |
119 | | impl core::borrow::Borrow<[u8]> for HexString { |
120 | 7.32k | fn borrow(&self) -> &[u8] { |
121 | 7.32k | &self.0 |
122 | 7.32k | } _RNvXs_NtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB4_9HexStringINtNtCsaYZPK01V26L_4core6borrow6BorrowShE6borrow Line | Count | Source | 120 | 1.02k | fn borrow(&self) -> &[u8] { | 121 | 1.02k | &self.0 | 122 | 1.02k | } |
_RNvXs_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB4_9HexStringINtNtCsaYZPK01V26L_4core6borrow6BorrowShE6borrow Line | Count | Source | 120 | 6.30k | fn borrow(&self) -> &[u8] { | 121 | 6.30k | &self.0 | 122 | 6.30k | } |
|
123 | | } |
124 | | |
125 | | impl serde::Serialize for HexString { |
126 | 0 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
127 | 0 | where |
128 | 0 | S: serde::Serializer, |
129 | 0 | { |
130 | 0 | format!("0x{}", hex::encode(&self.0[..])).serialize(serializer) |
131 | 0 | } Unexecuted instantiation: _RINvXs0_NtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializepEBa_ Unexecuted instantiation: _RINvXs0_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeINtNtCscu7pqq74Vb8_10serde_json3ser16MapKeySerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB1U_15PrettyFormatterEEBa_ Unexecuted instantiation: _RINvXs0_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB1V_15PrettyFormatterEEBa_ |
132 | | } |
133 | | |
134 | | impl<'a> serde::Deserialize<'a> for HexString { |
135 | 25.2k | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> |
136 | 25.2k | where |
137 | 25.2k | D: serde::Deserializer<'a>, |
138 | 25.2k | { |
139 | 25.2k | let string = String::deserialize(deserializer)?0 ; |
140 | | |
141 | 25.2k | if let Some(hex) = string.strip_prefix("0x") { |
142 | 25.2k | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; |
143 | 25.2k | return Ok(HexString(bytes)); |
144 | 0 | } |
145 | 0 |
|
146 | 0 | Err(serde::de::Error::custom( |
147 | 0 | "hexadecimal string doesn't start with 0x", |
148 | 0 | )) |
149 | 25.2k | } _RINvXs1_NtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB20_4read9SliceReadEEBa_ Line | Count | Source | 135 | 11.8k | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> | 136 | 11.8k | where | 137 | 11.8k | D: serde::Deserializer<'a>, | 138 | 11.8k | { | 139 | 11.8k | let string = String::deserialize(deserializer)?0 ; | 140 | | | 141 | 11.8k | if let Some(hex) = string.strip_prefix("0x") { | 142 | 11.8k | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; | 143 | 11.8k | return Ok(HexString(bytes)); | 144 | 0 | } | 145 | 0 |
| 146 | 0 | Err(serde::de::Error::custom( | 147 | 0 | "hexadecimal string doesn't start with 0x", | 148 | 0 | )) | 149 | 11.8k | } |
_RINvXs1_NtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB21_4read9SliceReadEEBa_ Line | Count | Source | 135 | 11.8k | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> | 136 | 11.8k | where | 137 | 11.8k | D: serde::Deserializer<'a>, | 138 | 11.8k | { | 139 | 11.8k | let string = String::deserialize(deserializer)?0 ; | 140 | | | 141 | 11.8k | if let Some(hex) = string.strip_prefix("0x") { | 142 | 11.8k | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; | 143 | 11.8k | return Ok(HexString(bytes)); | 144 | 0 | } | 145 | 0 |
| 146 | 0 | Err(serde::de::Error::custom( | 147 | 0 | "hexadecimal string doesn't start with 0x", | 148 | 0 | )) | 149 | 11.8k | } |
Unexecuted instantiation: _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB21_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB22_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializepEBa_ _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB21_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 135 | 70 | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> | 136 | 70 | where | 137 | 70 | D: serde::Deserializer<'a>, | 138 | 70 | { | 139 | 70 | let string = String::deserialize(deserializer)?0 ; | 140 | | | 141 | 70 | if let Some(hex) = string.strip_prefix("0x") { | 142 | 70 | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; | 143 | 70 | return Ok(HexString(bytes)); | 144 | 0 | } | 145 | 0 |
| 146 | 0 | Err(serde::de::Error::custom( | 147 | 0 | "hexadecimal string doesn't start with 0x", | 148 | 0 | )) | 149 | 70 | } |
_RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB22_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Line | Count | Source | 135 | 70 | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> | 136 | 70 | where | 137 | 70 | D: serde::Deserializer<'a>, | 138 | 70 | { | 139 | 70 | let string = String::deserialize(deserializer)?0 ; | 140 | | | 141 | 70 | if let Some(hex) = string.strip_prefix("0x") { | 142 | 70 | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; | 143 | 70 | return Ok(HexString(bytes)); | 144 | 0 | } | 145 | 0 |
| 146 | 0 | Err(serde::de::Error::custom( | 147 | 0 | "hexadecimal string doesn't start with 0x", | 148 | 0 | )) | 149 | 70 | } |
Unexecuted instantiation: _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB21_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB22_4read9SliceReadEECscDgN54JpMGG_6author _RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB21_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 135 | 665 | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> | 136 | 665 | where | 137 | 665 | D: serde::Deserializer<'a>, | 138 | 665 | { | 139 | 665 | let string = String::deserialize(deserializer)?0 ; | 140 | | | 141 | 665 | if let Some(hex) = string.strip_prefix("0x") { | 142 | 665 | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; | 143 | 665 | return Ok(HexString(bytes)); | 144 | 0 | } | 145 | 0 |
| 146 | 0 | Err(serde::de::Error::custom( | 147 | 0 | "hexadecimal string doesn't start with 0x", | 148 | 0 | )) | 149 | 665 | } |
_RINvXs1_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_9HexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB22_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Line | Count | Source | 135 | 665 | fn deserialize<D>(deserializer: D) -> Result<HexString, D::Error> | 136 | 665 | where | 137 | 665 | D: serde::Deserializer<'a>, | 138 | 665 | { | 139 | 665 | let string = String::deserialize(deserializer)?0 ; | 140 | | | 141 | 665 | if let Some(hex) = string.strip_prefix("0x") { | 142 | 665 | let bytes = hex::decode(hex).map_err(serde::de::Error::custom)?0 ; | 143 | 665 | return Ok(HexString(bytes)); | 144 | 0 | } | 145 | 0 |
| 146 | 0 | Err(serde::de::Error::custom( | 147 | 0 | "hexadecimal string doesn't start with 0x", | 148 | 0 | )) | 149 | 665 | } |
|
150 | | } |
151 | | |
152 | 0 | #[derive(Debug, Clone, Serialize, Deserialize)] Unexecuted instantiation: _RINvXs_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1l_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2M_4read9SliceReadEEBe_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1o_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2W_4read9SliceReadEEBf_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1o_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2W_4read9SliceReadEEBf_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1l_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBc_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1n_7Visitor9expecting Unexecuted instantiation: _RNvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtB7_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1k_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1l_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCsN16ciHI6Qf_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1l_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2X_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2X_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1m_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2N_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB7_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1l_7Visitor9expecting Unexecuted instantiation: _RNvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1o_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor9visit_u64pEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor9visit_strpEBc_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor11visit_bytespEBc_ Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1m_11deserializepEBe_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_seqpEBf_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_mappEBf_ Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsiLzmwikkc22_14json_rpc_basic Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2X_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2X_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1m_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2N_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2X_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2X_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1m_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2N_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXNvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtB8_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1m_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorECsibGXYHQB8Ea_25json_rpc_general_requests Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_mapINtNtCscu7pqq74Vb8_10serde_json2de9MapAccessNtNtB2X_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Unexecuted instantiation: _RINvXs0_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBb_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1p_7Visitor9visit_seqINtNtCscu7pqq74Vb8_10serde_json2de9SeqAccessNtNtB2X_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests Unexecuted instantiation: _RINvXs_NvXNvNtNtCseuYC0Zibziv_7smoldot10chain_spec7structss7_1__NtBa_15ChildRawStorageNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1m_11deserializeINtNtCscu7pqq74Vb8_10serde_json2de6MapKeyNtNtB2N_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests |
153 | | #[serde(rename_all = "camelCase")] |
154 | | #[serde(deny_unknown_fields)] |
155 | | pub(super) struct ChildRawStorage { |
156 | | pub(super) child_info: Vec<u8>, |
157 | | pub(super) child_type: u32, |
158 | | } |
159 | | |
160 | | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
161 | | pub(super) struct HashHexString(pub(super) [u8; 32]); |
162 | | |
163 | | impl serde::Serialize for HashHexString { |
164 | 0 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
165 | 0 | where |
166 | 0 | S: serde::Serializer, |
167 | 0 | { |
168 | 0 | format!("0x{}", hex::encode(&self.0[..])).serialize(serializer) |
169 | 0 | } Unexecuted instantiation: _RINvXs2_NtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializepEBa_ Unexecuted instantiation: _RINvXs2_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB20_15PrettyFormatterEEBa_ |
170 | | } |
171 | | |
172 | | impl<'a> serde::Deserialize<'a> for HashHexString { |
173 | 2 | fn deserialize<D>(deserializer: D) -> Result<HashHexString, D::Error> |
174 | 2 | where |
175 | 2 | D: serde::Deserializer<'a>, |
176 | 2 | { |
177 | 2 | let string = String::deserialize(deserializer)?0 ; |
178 | | |
179 | 2 | if !string.starts_with("0x") { |
180 | 0 | return Err(serde::de::Error::custom("hash doesn't start with 0x")); |
181 | 2 | } |
182 | | |
183 | 2 | let bytes = hex::decode(&string[2..]).map_err(serde::de::Error::custom)?0 ; |
184 | 2 | if bytes.len() != 32 { |
185 | 0 | return Err(serde::de::Error::invalid_length( |
186 | 0 | bytes.len(), |
187 | 0 | &"a 32 bytes hash", |
188 | 0 | )); |
189 | 2 | } |
190 | 2 | |
191 | 2 | let mut out = [0; 32]; |
192 | 2 | out.copy_from_slice(&bytes); |
193 | 2 | Ok(HashHexString(out)) |
194 | 2 | } _RINvXs3_NtNtCsN16ciHI6Qf_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB26_4read9SliceReadEEBa_ Line | Count | Source | 173 | 2 | fn deserialize<D>(deserializer: D) -> Result<HashHexString, D::Error> | 174 | 2 | where | 175 | 2 | D: serde::Deserializer<'a>, | 176 | 2 | { | 177 | 2 | let string = String::deserialize(deserializer)?0 ; | 178 | | | 179 | 2 | if !string.starts_with("0x") { | 180 | 0 | return Err(serde::de::Error::custom("hash doesn't start with 0x")); | 181 | 2 | } | 182 | | | 183 | 2 | let bytes = hex::decode(&string[2..]).map_err(serde::de::Error::custom)?0 ; | 184 | 2 | if bytes.len() != 32 { | 185 | 0 | return Err(serde::de::Error::invalid_length( | 186 | 0 | bytes.len(), | 187 | 0 | &"a 32 bytes hash", | 188 | 0 | )); | 189 | 2 | } | 190 | 2 | | 191 | 2 | let mut out = [0; 32]; | 192 | 2 | out.copy_from_slice(&bytes); | 193 | 2 | Ok(HashHexString(out)) | 194 | 2 | } |
Unexecuted instantiation: _RINvXs3_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB27_4read9SliceReadEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs3_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializepEBa_ Unexecuted instantiation: _RINvXs3_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB27_4read9SliceReadEECsiLzmwikkc22_14json_rpc_basic Unexecuted instantiation: _RINvXs3_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB27_4read9SliceReadEECscDgN54JpMGG_6author Unexecuted instantiation: _RINvXs3_NtNtCseuYC0Zibziv_7smoldot10chain_spec7structsNtB6_13HashHexStringNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB27_4read9SliceReadEECsibGXYHQB8Ea_25json_rpc_general_requests |
195 | | } |