/__w/smoldot/smoldot/repo/lib/src/database/finalized_serialize/defs.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 to help with serializing/deserializing from/to the local storage. |
19 | | |
20 | | use crate::{chain::chain_information, header}; |
21 | | |
22 | | use alloc::{boxed::Box, vec::Vec}; |
23 | | use core::{fmt, num::NonZeroU64}; |
24 | | use hashbrown::HashMap; |
25 | | |
26 | | /// Error that can happen when deserializing the data. |
27 | 0 | #[derive(Debug, derive_more::Display)] Unexecuted instantiation: _RNvXse_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_16DeserializeErrorNtNtCsaYZPK01V26L_4core3fmt7Display3fmt Unexecuted instantiation: _RNvXse_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_16DeserializeErrorNtNtCsaYZPK01V26L_4core3fmt7Display3fmt |
28 | | pub(super) enum DeserializeError { |
29 | | #[display(fmt = "Failed to decode header: {_0}")] |
30 | | Header(header::Error), |
31 | | ConsensusAlgorithmsMismatch, |
32 | | /// Some Babe-related information is missing. |
33 | | MissingBabeInformation, |
34 | | } |
35 | | |
36 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss_1__NtB7_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1L_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss_1__NtB8_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss_1__NtB8_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss_1__NtB8_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss_1__NtBa_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1M_11deserializepEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss_1__NtB7_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1M_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss_1__NtB8_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss_1__NtB8_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss_1__NtB8_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss_1__NtBa_26SerializedChainInformationNtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1N_11deserializeQINtNtCscu7pqq74Vb8_10serde_json2de12DeserializerNtNtB3f_4read7StrReadEEBg_ |
37 | | #[serde(tag = "version")] |
38 | | pub(super) enum SerializedChainInformation { |
39 | | #[serde(rename = "1")] |
40 | | V1(SerializedChainInformationV1), |
41 | | } |
42 | | |
43 | | impl SerializedChainInformation { |
44 | 0 | pub(super) fn decode(self, block_number_bytes: usize) -> Result<Decoded, DeserializeError> { |
45 | 0 | Ok(match self { |
46 | 0 | SerializedChainInformation::V1(from) => from.decode(block_number_bytes)?, |
47 | | }) |
48 | 0 | } Unexecuted instantiation: _RNvMNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB2_26SerializedChainInformation6decode Unexecuted instantiation: _RNvMNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB2_26SerializedChainInformation6decode |
49 | | } |
50 | | |
51 | | pub struct Decoded { |
52 | | /// Decoded chain information. |
53 | | pub chain_information: chain_information::ChainInformation, |
54 | | /// All the keys and values found in the database. `None` if no information was found. |
55 | | pub storage: Option<HashMap<Vec<u8>, Vec<u8>, fnv::FnvBuildHasher>>, |
56 | | } |
57 | | |
58 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss0_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1N_9serializepEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss0_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1O_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3e_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss0_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1O_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss0_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1O_9serializepEBe_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtB7_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1O_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBa_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1P_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBa_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1R_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBb_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1S_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBe_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1V_7Visitor9visit_seqNtB3_17___DeserializeWithB1T_11deserializepEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBd_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1U_7Visitor9visit_seqpE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBb_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1S_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss1_1__NtBe_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1V_7Visitor9visit_mapNtB3_17___DeserializeWithB1T_11deserializepEBk_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBa_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1Q_11deserializeINtNtNtNtB1U_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtB7_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1P_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtB8_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBa_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1S_7Visitor9expecting Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBe_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1W_7Visitor9visit_seqNtB3_17___DeserializeWithB1U_11deserializeINtNtNtNtB1Y_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBe_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1W_7Visitor9visit_mapNtB3_17___DeserializeWithB1U_11deserializeINtNtNtNtB1Y_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBd_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1V_7Visitor9visit_seqQINtNtB1V_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1X_9___private2de7content7ContentENvMse_B5z_INtB5z_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6Q_EE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBb_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1T_7Visitor9visit_seqQINtNtB1T_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1V_9___private2de7content7ContentENvMse_B5x_INtB5x_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6O_EEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss1_1__NtBb_28SerializedChainInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1T_7Visitor9visit_mapQINtNtB1T_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB1V_9___private2de7content7ContentB5w_EENCINvB5y_17visit_content_mapB2I_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6O_EEBh_ |
59 | | #[serde(deny_unknown_fields)] |
60 | | pub(super) struct SerializedChainInformationV1 { |
61 | | #[serde( |
62 | | serialize_with = "serialize_bytes", |
63 | | deserialize_with = "deserialize_bytes" |
64 | | )] |
65 | | finalized_block_header: Vec<u8>, |
66 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
67 | | aura_slot_duration: Option<NonZeroU64>, |
68 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
69 | | aura_finalized_authorities: Option<Vec<SerializedAuraAuthorityV1>>, |
70 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
71 | | babe_slots_per_epoch: Option<NonZeroU64>, |
72 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
73 | | babe_finalized_block_epoch_information: Option<SerializedBabeEpochInformationV1>, |
74 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
75 | | babe_finalized_next_epoch_transition: Option<SerializedBabeEpochInformationV1>, |
76 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
77 | | grandpa_after_finalized_block_authorities_set_id: Option<u64>, |
78 | | #[serde(default, skip_serializing_if = "Vec::is_empty")] |
79 | | grandpa_finalized_triggered_authorities: Vec<SerializedGrandpaAuthorityV1>, |
80 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
81 | | grandpa_finalized_scheduled_change: Option<SerializedFinalizedScheduledChangeV1>, |
82 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
83 | | finalized_storage: Option<Vec<SerializedFinalizedStorageEntryV1>>, |
84 | | } |
85 | | |
86 | | impl SerializedChainInformationV1 { |
87 | 0 | pub(super) fn new( |
88 | 0 | from: chain_information::ChainInformationRef<'_>, |
89 | 0 | block_number_bytes: usize, |
90 | 0 | finalized_storage: Option<impl Iterator<Item = (impl AsRef<[u8]>, impl AsRef<[u8]>)>>, |
91 | 0 | ) -> Self { |
92 | 0 | SerializedChainInformationV1 { |
93 | 0 | finalized_block_header: from |
94 | 0 | .finalized_block_header |
95 | 0 | .scale_encoding(block_number_bytes) |
96 | 0 | .fold(Vec::new(), |mut a, b| { |
97 | 0 | a.extend_from_slice(b.as_ref()); |
98 | 0 | a |
99 | 0 | }), Unexecuted instantiation: _RNCINvMs_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newpppE0Bd_ Unexecuted instantiation: _RNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newINtNtCsdZExvAaxgia_5alloc3vec3VechEB1L_INtNtNtNtCsaYZPK01V26L_4core4iter7sources5empty5EmptyTB1L_B1L_EEE0CsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newpppE0Bd_ |
100 | | aura_slot_duration: if let chain_information::ChainInformationConsensusRef::Aura { |
101 | 0 | slot_duration, |
102 | | .. |
103 | 0 | } = &from.consensus |
104 | | { |
105 | 0 | Some(*slot_duration) |
106 | | } else { |
107 | 0 | None |
108 | | }, |
109 | | aura_finalized_authorities: |
110 | | if let chain_information::ChainInformationConsensusRef::Aura { |
111 | 0 | finalized_authorities_list, |
112 | | .. |
113 | 0 | } = &from.consensus |
114 | | { |
115 | 0 | Some(finalized_authorities_list.clone().map(Into::into).collect()) |
116 | | } else { |
117 | 0 | None |
118 | | }, |
119 | | babe_slots_per_epoch: if let chain_information::ChainInformationConsensusRef::Babe { |
120 | 0 | slots_per_epoch, |
121 | | .. |
122 | 0 | } = &from.consensus |
123 | | { |
124 | 0 | Some(*slots_per_epoch) |
125 | | } else { |
126 | 0 | None |
127 | | }, |
128 | | babe_finalized_block_epoch_information: |
129 | | if let chain_information::ChainInformationConsensusRef::Babe { |
130 | 0 | finalized_block_epoch_information, |
131 | | .. |
132 | 0 | } = &from.consensus |
133 | | { |
134 | 0 | finalized_block_epoch_information.clone().map(Into::into) |
135 | | } else { |
136 | 0 | None |
137 | | }, |
138 | | babe_finalized_next_epoch_transition: |
139 | | if let chain_information::ChainInformationConsensusRef::Babe { |
140 | 0 | finalized_next_epoch_transition, |
141 | | .. |
142 | 0 | } = &from.consensus |
143 | | { |
144 | 0 | Some(finalized_next_epoch_transition.clone().into()) |
145 | | } else { |
146 | 0 | None |
147 | | }, |
148 | 0 | grandpa_after_finalized_block_authorities_set_id: match from.finality { |
149 | 0 | chain_information::ChainInformationFinalityRef::Outsourced => None, |
150 | | chain_information::ChainInformationFinalityRef::Grandpa { |
151 | 0 | after_finalized_block_authorities_set_id, |
152 | 0 | .. |
153 | 0 | } => Some(after_finalized_block_authorities_set_id), |
154 | | }, |
155 | 0 | grandpa_finalized_triggered_authorities: match from.finality { |
156 | 0 | chain_information::ChainInformationFinalityRef::Outsourced => Vec::new(), |
157 | | chain_information::ChainInformationFinalityRef::Grandpa { |
158 | 0 | finalized_triggered_authorities, |
159 | 0 | .. |
160 | 0 | } => finalized_triggered_authorities |
161 | 0 | .iter() |
162 | 0 | .map(header::GrandpaAuthorityRef::from) |
163 | 0 | .map(Into::into) |
164 | 0 | .collect(), |
165 | | }, |
166 | 0 | grandpa_finalized_scheduled_change: match from.finality { |
167 | 0 | chain_information::ChainInformationFinalityRef::Outsourced => None, |
168 | | chain_information::ChainInformationFinalityRef::Grandpa { |
169 | 0 | finalized_scheduled_change, |
170 | 0 | .. |
171 | 0 | } => { |
172 | 0 | finalized_scheduled_change.map(|(n, l)| SerializedFinalizedScheduledChangeV1 { |
173 | 0 | trigger_block_height: n, |
174 | 0 | new_authorities_list: l.iter().map(Into::into).collect(), |
175 | 0 | }) Unexecuted instantiation: _RNCINvMs_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newpppEs_0Bd_ Unexecuted instantiation: _RNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newINtNtCsdZExvAaxgia_5alloc3vec3VechEB1L_INtNtNtNtCsaYZPK01V26L_4core4iter7sources5empty5EmptyTB1L_B1L_EEEs_0CsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newpppEs_0Bd_ |
176 | | } |
177 | | }, |
178 | 0 | finalized_storage: finalized_storage.map(|storage| { |
179 | 0 | storage |
180 | 0 | .map(|(k, v)| SerializedFinalizedStorageEntryV1 { |
181 | 0 | key: k.as_ref().to_vec(), |
182 | 0 | value: v.as_ref().to_vec(), |
183 | 0 | }) Unexecuted instantiation: _RNCNCINvMs_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB9_28SerializedChainInformationV13newpppEs0_00Bf_ Unexecuted instantiation: _RNCNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB9_28SerializedChainInformationV13newINtNtCsdZExvAaxgia_5alloc3vec3VechEB1N_INtNtNtNtCsaYZPK01V26L_4core4iter7sources5empty5EmptyTB1N_B1N_EEEs0_00CsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNCNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB9_28SerializedChainInformationV13newpppEs0_00Bf_ |
184 | 0 | .collect() |
185 | 0 | }), Unexecuted instantiation: _RNCINvMs_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newpppEs0_0Bd_ Unexecuted instantiation: _RNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newINtNtCsdZExvAaxgia_5alloc3vec3VechEB1L_INtNtNtNtCsaYZPK01V26L_4core4iter7sources5empty5EmptyTB1L_B1L_EEEs0_0CsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RNCINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV13newpppEs0_0Bd_ |
186 | 0 | } |
187 | 0 | } Unexecuted instantiation: _RINvMs_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_28SerializedChainInformationV13newpppEBb_ Unexecuted instantiation: _RINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedChainInformationV13newINtNtCsdZExvAaxgia_5alloc3vec3VechEB1J_INtNtNtNtCsaYZPK01V26L_4core4iter7sources5empty5EmptyTB1J_B1J_EEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvMs_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedChainInformationV13newpppEBb_ |
188 | | } |
189 | | |
190 | | impl SerializedChainInformationV1 { |
191 | 0 | pub(super) fn decode(self, block_number_bytes: usize) -> Result<Decoded, DeserializeError> { |
192 | 0 | let consensus = match ( |
193 | 0 | self.aura_finalized_authorities, |
194 | 0 | self.aura_slot_duration, |
195 | 0 | self.babe_slots_per_epoch, |
196 | 0 | self.babe_finalized_block_epoch_information, |
197 | 0 | self.babe_finalized_next_epoch_transition, |
198 | | ) { |
199 | 0 | (Some(aura_authorities), Some(slot_duration), None, None, None) => { |
200 | 0 | chain_information::ChainInformationConsensus::Aura { |
201 | 0 | finalized_authorities_list: aura_authorities |
202 | 0 | .into_iter() |
203 | 0 | .map(Into::into) |
204 | 0 | .collect(), |
205 | 0 | slot_duration, |
206 | 0 | } |
207 | | } |
208 | | |
209 | | ( |
210 | | None, |
211 | | None, |
212 | 0 | babe_slots_per_epoch, |
213 | 0 | babe_finalized_block_epoch_information, |
214 | 0 | babe_finalized_next_epoch_transition, |
215 | 0 | ) => chain_information::ChainInformationConsensus::Babe { |
216 | 0 | slots_per_epoch: babe_slots_per_epoch |
217 | 0 | .ok_or(DeserializeError::MissingBabeInformation)?, |
218 | 0 | finalized_block_epoch_information: babe_finalized_block_epoch_information |
219 | 0 | .map(|i| Box::new(i.into())), Unexecuted instantiation: _RNCNvMs0_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV16decode0Bd_ Unexecuted instantiation: _RNCNvMs0_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV16decode0Bd_ |
220 | 0 | finalized_next_epoch_transition: Box::new( |
221 | 0 | babe_finalized_next_epoch_transition |
222 | 0 | .map(Into::into) |
223 | 0 | .ok_or(DeserializeError::MissingBabeInformation)?, |
224 | | ), |
225 | | }, |
226 | | |
227 | 0 | _ => return Err(DeserializeError::ConsensusAlgorithmsMismatch), |
228 | | }; |
229 | | |
230 | 0 | let chain_information = chain_information::ChainInformation { |
231 | | finalized_block_header: Box::new( |
232 | 0 | header::decode(&self.finalized_block_header, block_number_bytes) |
233 | 0 | .map_err(DeserializeError::Header)? |
234 | 0 | .into(), |
235 | 0 | ), |
236 | 0 | consensus, |
237 | 0 | finality: if let Some(set_id) = self.grandpa_after_finalized_block_authorities_set_id { |
238 | 0 | chain_information::ChainInformationFinality::Grandpa { |
239 | 0 | after_finalized_block_authorities_set_id: set_id, |
240 | 0 | finalized_triggered_authorities: self |
241 | 0 | .grandpa_finalized_triggered_authorities |
242 | 0 | .into_iter() |
243 | 0 | .map(Into::into) |
244 | 0 | .collect(), |
245 | 0 | finalized_scheduled_change: self.grandpa_finalized_scheduled_change.map( |
246 | 0 | |change| { |
247 | 0 | ( |
248 | 0 | change.trigger_block_height, |
249 | 0 | change |
250 | 0 | .new_authorities_list |
251 | 0 | .into_iter() |
252 | 0 | .map(Into::into) |
253 | 0 | .collect(), |
254 | 0 | ) |
255 | 0 | }, Unexecuted instantiation: _RNCNvMs0_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV16decodes_0Bd_ Unexecuted instantiation: _RNCNvMs0_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV16decodes_0Bd_ |
256 | 0 | ), |
257 | 0 | } |
258 | | } else { |
259 | 0 | chain_information::ChainInformationFinality::Outsourced |
260 | | }, |
261 | | }; |
262 | | |
263 | | // We could in principle check the integrity of the storage against the state root hash |
264 | | // in the header. However, doing so would require obtaining the state version from the |
265 | | // runtime, which would be very CPU intensive. Checking the integrity of the storage isn't |
266 | | // a bad idea, but it would be inappropriate to do so in the decoding code. |
267 | 0 | let finalized_storage = self.finalized_storage.map(|storage| { |
268 | 0 | storage |
269 | 0 | .into_iter() |
270 | 0 | .map(|entry| (entry.key, entry.value)) Unexecuted instantiation: _RNCNCNvMs0_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB9_28SerializedChainInformationV16decodes0_00Bf_ Unexecuted instantiation: _RNCNCNvMs0_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB9_28SerializedChainInformationV16decodes0_00Bf_ |
271 | 0 | .collect() |
272 | 0 | }); Unexecuted instantiation: _RNCNvMs0_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV16decodes0_0Bd_ Unexecuted instantiation: _RNCNvMs0_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB7_28SerializedChainInformationV16decodes0_0Bd_ |
273 | 0 |
|
274 | 0 | Ok(Decoded { |
275 | 0 | chain_information, |
276 | 0 | storage: finalized_storage, |
277 | 0 | }) |
278 | 0 | } Unexecuted instantiation: _RNvMs0_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_28SerializedChainInformationV16decode Unexecuted instantiation: _RNvMs0_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedChainInformationV16decode |
279 | | } |
280 | | |
281 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss2_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1S_9serializepEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss2_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB5_s_15___SerializeWithB1U_9serializepEBg_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss2_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1T_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3j_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss2_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1T_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss2_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB5_s_15___SerializeWithB1V_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3n_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss2_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB5_s_15___SerializeWithB1V_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss2_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1T_9serializepEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss2_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB5_s_15___SerializeWithB1V_9serializepEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtB7_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1T_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1U_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1U_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1U_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1U_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1W_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBb_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1X_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBe_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB20_7Visitor9visit_seqNtB3_17___DeserializeWithB1Y_11deserializepEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBd_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1Z_7Visitor9visit_seqpE0Bj_ Unexecuted instantiation: _RINvXs_NvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBg_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtBb_9___VisitorNtB22_7Visitor9visit_seqNtB5_s_17___DeserializeWithB20_11deserializepEBm_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBd_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1Z_7Visitor9visit_seqpEs_0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBb_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1X_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBe_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB20_7Visitor9visit_mapNtB3_17___DeserializeWithB1Y_11deserializepEBk_ Unexecuted instantiation: _RINvXs_NvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss3_1__NtBg_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtBb_9___VisitorNtB22_7Visitor9visit_mapNtB5_s_17___DeserializeWithB20_11deserializepEBm_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1V_11deserializeINtNtNtNtB1Z_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtB7_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1U_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1V_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1V_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtB8_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1V_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBa_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1X_7Visitor9expecting Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBe_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB21_7Visitor9visit_seqNtB3_17___DeserializeWithB1Z_11deserializeINtNtNtNtB23_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXs_NvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBg_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtBb_9___VisitorNtB23_7Visitor9visit_seqNtB5_s_17___DeserializeWithB21_11deserializeINtNtNtNtB25_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBm_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBe_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB21_7Visitor9visit_mapNtB3_17___DeserializeWithB1Z_11deserializeINtNtNtNtB23_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXs_NvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBg_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtBb_9___VisitorNtB23_7Visitor9visit_mapNtB5_s_17___DeserializeWithB21_11deserializeINtNtNtNtB25_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBm_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBd_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB20_7Visitor9visit_seqQINtNtB20_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB22_9___private2de7content7ContentENvMse_B5E_INtB5E_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6V_EE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBb_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Y_7Visitor9visit_seqQINtNtB1Y_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB20_9___private2de7content7ContentENvMse_B5C_INtB5C_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6T_EEBh_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBd_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB20_7Visitor9visit_seqQINtNtB20_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB22_9___private2de7content7ContentENvMse_B5E_INtB5E_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6V_EEs_0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss3_1__NtBb_33SerializedFinalizedStorageEntryV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Y_7Visitor9visit_mapQINtNtB1Y_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB20_9___private2de7content7ContentB5B_EENCINvB5D_17visit_content_mapB2N_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6T_EEBh_ |
282 | | #[serde(deny_unknown_fields)] |
283 | | struct SerializedFinalizedStorageEntryV1 { |
284 | | #[serde( |
285 | | serialize_with = "serialize_bytes", |
286 | | deserialize_with = "deserialize_bytes" |
287 | | )] |
288 | | key: Vec<u8>, |
289 | | #[serde( |
290 | | serialize_with = "serialize_bytes", |
291 | | deserialize_with = "deserialize_bytes" |
292 | | )] |
293 | | value: Vec<u8>, |
294 | | } |
295 | | |
296 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss4_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1K_9serializepEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss4_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1L_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3b_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss4_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1L_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss4_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1L_9serializepEBe_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtB7_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1L_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBa_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1M_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBa_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1O_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBb_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1P_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBe_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1S_7Visitor9visit_seqNtB3_17___DeserializeWithB1Q_11deserializepEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBd_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1R_7Visitor9visit_seqpE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBb_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1P_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss5_1__NtBe_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1S_7Visitor9visit_mapNtB3_17___DeserializeWithB1Q_11deserializepEBk_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBa_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1N_11deserializeINtNtNtNtB1R_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtB7_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1M_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtB8_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBa_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1P_7Visitor9expecting Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBe_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1T_7Visitor9visit_seqNtB3_17___DeserializeWithB1R_11deserializeINtNtNtNtB1V_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBe_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1T_7Visitor9visit_mapNtB3_17___DeserializeWithB1R_11deserializeINtNtNtNtB1V_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBd_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1S_7Visitor9visit_seqQINtNtB1S_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1U_9___private2de7content7ContentENvMse_B5w_INtB5w_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6N_EE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBb_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Q_7Visitor9visit_seqQINtNtB1Q_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1S_9___private2de7content7ContentENvMse_B5u_INtB5u_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6L_EEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss5_1__NtBb_25SerializedAuraAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Q_7Visitor9visit_mapQINtNtB1Q_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB1S_9___private2de7content7ContentB5t_EENCINvB5v_17visit_content_mapB2F_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6L_EEBh_ |
297 | | #[serde(deny_unknown_fields)] |
298 | | struct SerializedAuraAuthorityV1 { |
299 | | #[serde( |
300 | | serialize_with = "serialize_bytes", |
301 | | deserialize_with = "deserialize_hash32" |
302 | | )] |
303 | | public_key: [u8; 32], |
304 | | } |
305 | | |
306 | | impl<'a> From<header::AuraAuthorityRef<'a>> for SerializedAuraAuthorityV1 { |
307 | 0 | fn from(from: header::AuraAuthorityRef<'a>) -> Self { |
308 | 0 | SerializedAuraAuthorityV1 { |
309 | 0 | public_key: *from.public_key, |
310 | 0 | } |
311 | 0 | } Unexecuted instantiation: _RNvXs1_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_25SerializedAuraAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header4aura16AuraAuthorityRefE4from Unexecuted instantiation: _RNvXs1_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_25SerializedAuraAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header4aura16AuraAuthorityRefE4from |
312 | | } |
313 | | |
314 | | impl From<SerializedAuraAuthorityV1> for header::AuraAuthority { |
315 | 0 | fn from(from: SerializedAuraAuthorityV1) -> Self { |
316 | 0 | header::AuraAuthority { |
317 | 0 | public_key: from.public_key, |
318 | 0 | } |
319 | 0 | } Unexecuted instantiation: _RNvXs2_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header4aura13AuraAuthorityINtNtCsaYZPK01V26L_4core7convert4FromNtB5_25SerializedAuraAuthorityV1E4from Unexecuted instantiation: _RNvXs2_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header4aura13AuraAuthorityINtNtCsaYZPK01V26L_4core7convert4FromNtB5_25SerializedAuraAuthorityV1E4from |
320 | | } |
321 | | |
322 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss6_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1R_9serializepEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss6_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1S_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3i_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss6_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1S_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss6_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1S_9serializepEBe_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtB7_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1S_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1T_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1T_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1T_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBa_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1T_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBa_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1V_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBb_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1W_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBe_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1Z_7Visitor9visit_seqNtB3_17___DeserializeWithB1X_11deserializepEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBd_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1Y_7Visitor9visit_seqpE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBb_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1W_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss7_1__NtBe_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1Z_7Visitor9visit_mapNtB3_17___DeserializeWithB1X_11deserializepEBk_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBa_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1U_11deserializeINtNtNtNtB1Y_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtB7_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1T_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1U_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1U_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtB8_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1U_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBa_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1W_7Visitor9expecting Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBe_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB20_7Visitor9visit_seqNtB3_17___DeserializeWithB1Y_11deserializeINtNtNtNtB22_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBe_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB20_7Visitor9visit_mapNtB3_17___DeserializeWithB1Y_11deserializeINtNtNtNtB22_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBb_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1X_7Visitor9visit_seqQINtNtB1X_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1Z_9___private2de7content7ContentENvMse_B5B_INtB5B_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6S_EEBh_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBd_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1Z_7Visitor9visit_seqQINtNtB1Z_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB21_9___private2de7content7ContentENvMse_B5D_INtB5D_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6U_EE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss7_1__NtBb_32SerializedBabeEpochInformationV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1X_7Visitor9visit_mapQINtNtB1X_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB1Z_9___private2de7content7ContentB5A_EENCINvB5C_17visit_content_mapB2M_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6S_EEBh_ |
323 | | #[serde(deny_unknown_fields)] |
324 | | struct SerializedBabeEpochInformationV1 { |
325 | | epoch_index: u64, |
326 | | #[serde(default, skip_serializing_if = "Option::is_none")] |
327 | | start_slot_number: Option<u64>, |
328 | | authorities: Vec<SerializedBabeAuthorityV1>, |
329 | | #[serde( |
330 | | serialize_with = "serialize_bytes", |
331 | | deserialize_with = "deserialize_hash32" |
332 | | )] |
333 | | randomness: [u8; 32], |
334 | | c: SerializedBabeNextConfigConstantV1, |
335 | | allowed_slots: SerializedBabeAllowedSlotsV1, |
336 | | } |
337 | | |
338 | | impl<'a> From<chain_information::BabeEpochInformationRef<'a>> for SerializedBabeEpochInformationV1 { |
339 | 0 | fn from(from: chain_information::BabeEpochInformationRef<'a>) -> Self { |
340 | 0 | SerializedBabeEpochInformationV1 { |
341 | 0 | epoch_index: from.epoch_index, |
342 | 0 | start_slot_number: from.start_slot_number, |
343 | 0 | authorities: from.authorities.map(Into::into).collect(), |
344 | 0 | randomness: *from.randomness, |
345 | 0 | c: SerializedBabeNextConfigConstantV1 { |
346 | 0 | num: from.c.0, |
347 | 0 | denom: from.c.1, |
348 | 0 | }, |
349 | 0 | allowed_slots: from.allowed_slots.into(), |
350 | 0 | } |
351 | 0 | } Unexecuted instantiation: _RNvXs3_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_32SerializedBabeEpochInformationV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_5chain17chain_information23BabeEpochInformationRefE4from Unexecuted instantiation: _RNvXs3_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_32SerializedBabeEpochInformationV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_5chain17chain_information23BabeEpochInformationRefE4from |
352 | | } |
353 | | |
354 | | impl From<SerializedBabeEpochInformationV1> for chain_information::BabeEpochInformation { |
355 | 0 | fn from(from: SerializedBabeEpochInformationV1) -> Self { |
356 | 0 | chain_information::BabeEpochInformation { |
357 | 0 | epoch_index: from.epoch_index, |
358 | 0 | start_slot_number: from.start_slot_number, |
359 | 0 | authorities: from.authorities.into_iter().map(Into::into).collect(), |
360 | 0 | randomness: from.randomness, |
361 | 0 | c: (from.c.num, from.c.denom), |
362 | 0 | allowed_slots: from.allowed_slots.into(), |
363 | 0 | } |
364 | 0 | } Unexecuted instantiation: _RNvXs4_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtNtNtBb_5chain17chain_information20BabeEpochInformationINtNtCsaYZPK01V26L_4core7convert4FromNtB5_32SerializedBabeEpochInformationV1E4from Unexecuted instantiation: _RNvXs4_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtNtNtBb_5chain17chain_information20BabeEpochInformationINtNtCsaYZPK01V26L_4core7convert4FromNtB5_32SerializedBabeEpochInformationV1E4from |
365 | | } |
366 | | |
367 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss8_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1K_9serializepEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss8_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1L_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3b_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss8_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1L_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss8_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1L_9serializepEBe_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtB7_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1L_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1M_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBa_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1M_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBa_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1O_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBb_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1P_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBe_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1S_7Visitor9visit_seqNtB3_17___DeserializeWithB1Q_11deserializepEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBd_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1R_7Visitor9visit_seqpE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBb_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1P_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defss9_1__NtBe_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1S_7Visitor9visit_mapNtB3_17___DeserializeWithB1Q_11deserializepEBk_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBa_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1N_11deserializeINtNtNtNtB1R_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtB7_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1M_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtB8_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1N_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBa_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1P_7Visitor9expecting Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBe_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1T_7Visitor9visit_seqNtB3_17___DeserializeWithB1R_11deserializeINtNtNtNtB1V_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBe_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1T_7Visitor9visit_mapNtB3_17___DeserializeWithB1R_11deserializeINtNtNtNtB1V_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBd_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1S_7Visitor9visit_seqQINtNtB1S_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1U_9___private2de7content7ContentENvMse_B5w_INtB5w_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6N_EE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBb_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Q_7Visitor9visit_seqQINtNtB1Q_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1S_9___private2de7content7ContentENvMse_B5u_INtB5u_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6L_EEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defss9_1__NtBb_25SerializedBabeAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Q_7Visitor9visit_mapQINtNtB1Q_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB1S_9___private2de7content7ContentB5t_EENCINvB5v_17visit_content_mapB2F_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6L_EEBh_ |
368 | | #[serde(deny_unknown_fields)] |
369 | | struct SerializedBabeAuthorityV1 { |
370 | | #[serde( |
371 | | serialize_with = "serialize_bytes", |
372 | | deserialize_with = "deserialize_hash32" |
373 | | )] |
374 | | public_key: [u8; 32], |
375 | | weight: u64, // TODO: should be NonZeroU64; requires changing crate::header first |
376 | | } |
377 | | |
378 | | impl<'a> From<header::BabeAuthorityRef<'a>> for SerializedBabeAuthorityV1 { |
379 | 0 | fn from(from: header::BabeAuthorityRef<'a>) -> Self { |
380 | 0 | SerializedBabeAuthorityV1 { |
381 | 0 | public_key: *from.public_key, |
382 | 0 | weight: from.weight, |
383 | 0 | } |
384 | 0 | } Unexecuted instantiation: _RNvXs5_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_25SerializedBabeAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header4babe16BabeAuthorityRefE4from Unexecuted instantiation: _RNvXs5_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_25SerializedBabeAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header4babe16BabeAuthorityRefE4from |
385 | | } |
386 | | |
387 | | impl From<SerializedBabeAuthorityV1> for header::BabeAuthority { |
388 | 0 | fn from(from: SerializedBabeAuthorityV1) -> Self { |
389 | 0 | header::BabeAuthority { |
390 | 0 | public_key: from.public_key, |
391 | 0 | weight: from.weight, |
392 | 0 | } |
393 | 0 | } Unexecuted instantiation: _RNvXs6_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header4babe13BabeAuthorityINtNtCsaYZPK01V26L_4core7convert4FromNtB5_25SerializedBabeAuthorityV1E4from Unexecuted instantiation: _RNvXs6_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header4babe13BabeAuthorityINtNtCsaYZPK01V26L_4core7convert4FromNtB5_25SerializedBabeAuthorityV1E4from |
394 | | } |
395 | | |
396 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtB7_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1U_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtB8_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1V_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtB8_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1V_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtB8_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1V_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtBa_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1V_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtBa_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1X_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtBb_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Y_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssb_1__NtBb_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Y_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtBa_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1W_11deserializeINtNtNtNtB20_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtB7_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1V_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtB8_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1W_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtBa_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1Y_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtBb_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Z_7Visitor9visit_seqQINtNtB1Z_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB21_9___private2de7content7ContentENvMse_B5D_INtB5D_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6U_EEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtBb_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1Z_7Visitor9visit_mapQINtNtB1Z_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB21_9___private2de7content7ContentB5C_EENCINvB5E_17visit_content_mapB2O_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6U_EEBh_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtB8_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1W_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssb_1__NtB8_34SerializedBabeNextConfigConstantV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1W_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ |
397 | | struct SerializedBabeNextConfigConstantV1 { |
398 | | num: u64, |
399 | | denom: u64, |
400 | | } |
401 | | |
402 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtB7_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1O_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtB8_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtB8_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtB8_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtBa_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1P_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtBa_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1R_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssd_1__NtBb_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1S_7Visitor10visit_enumpEBh_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtB7_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1P_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtB8_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtB8_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtB8_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtBa_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1S_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtBb_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1T_7Visitor10visit_enumINtNtNtNtB1V_9___private2de7content16EnumDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBh_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssd_1__NtBa_28SerializedBabeAllowedSlotsV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1Q_11deserializeINtNtNtNtB1U_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ |
403 | | enum SerializedBabeAllowedSlotsV1 { |
404 | | #[serde(rename = "primary")] |
405 | | OnlyPrimary, |
406 | | #[serde(rename = "primary-and-secondary-plain")] |
407 | | PrimaryAndSecondaryPlain, |
408 | | #[serde(rename = "primary-and-secondary-vrf")] |
409 | | PrimaryAndSecondaryVrf, |
410 | | } |
411 | | |
412 | | impl From<header::BabeAllowedSlots> for SerializedBabeAllowedSlotsV1 { |
413 | 0 | fn from(from: header::BabeAllowedSlots) -> Self { |
414 | 0 | match from { |
415 | 0 | header::BabeAllowedSlots::PrimarySlots => SerializedBabeAllowedSlotsV1::OnlyPrimary, |
416 | | header::BabeAllowedSlots::PrimaryAndSecondaryPlainSlots => { |
417 | 0 | SerializedBabeAllowedSlotsV1::PrimaryAndSecondaryPlain |
418 | | } |
419 | | header::BabeAllowedSlots::PrimaryAndSecondaryVrfSlots => { |
420 | 0 | SerializedBabeAllowedSlotsV1::PrimaryAndSecondaryVrf |
421 | | } |
422 | | } |
423 | 0 | } Unexecuted instantiation: _RNvXs7_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_28SerializedBabeAllowedSlotsV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header4babe16BabeAllowedSlotsE4from Unexecuted instantiation: _RNvXs7_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedBabeAllowedSlotsV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header4babe16BabeAllowedSlotsE4from |
424 | | } |
425 | | |
426 | | impl From<SerializedBabeAllowedSlotsV1> for header::BabeAllowedSlots { |
427 | 0 | fn from(from: SerializedBabeAllowedSlotsV1) -> Self { |
428 | 0 | match from { |
429 | 0 | SerializedBabeAllowedSlotsV1::OnlyPrimary => header::BabeAllowedSlots::PrimarySlots, |
430 | | SerializedBabeAllowedSlotsV1::PrimaryAndSecondaryPlain => { |
431 | 0 | header::BabeAllowedSlots::PrimaryAndSecondaryPlainSlots |
432 | | } |
433 | | SerializedBabeAllowedSlotsV1::PrimaryAndSecondaryVrf => { |
434 | 0 | header::BabeAllowedSlots::PrimaryAndSecondaryVrfSlots |
435 | | } |
436 | | } |
437 | 0 | } Unexecuted instantiation: _RNvXs8_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header4babe16BabeAllowedSlotsINtNtCsaYZPK01V26L_4core7convert4FromNtB5_28SerializedBabeAllowedSlotsV1E4from Unexecuted instantiation: _RNvXs8_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header4babe16BabeAllowedSlotsINtNtCsaYZPK01V26L_4core7convert4FromNtB5_28SerializedBabeAllowedSlotsV1E4from |
438 | | } |
439 | | |
440 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtB7_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1W_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtB8_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1X_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtB8_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1X_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtB8_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1X_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtBa_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1X_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtBa_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1Z_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtBb_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB20_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssf_1__NtBb_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB20_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtBa_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1Y_11deserializeINtNtNtNtB22_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtB7_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1X_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtB8_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Y_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtB8_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Y_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtB8_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Y_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtBa_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB20_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtBb_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB21_7Visitor9visit_seqQINtNtB21_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB23_9___private2de7content7ContentENvMse_B5F_INtB5F_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6W_EEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssf_1__NtBb_36SerializedFinalizedScheduledChangeV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB21_7Visitor9visit_mapQINtNtB21_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB23_9___private2de7content7ContentB5E_EENCINvB5G_17visit_content_mapB2Q_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6W_EEBh_ |
441 | | #[serde(deny_unknown_fields)] |
442 | | struct SerializedFinalizedScheduledChangeV1 { |
443 | | trigger_block_height: u64, |
444 | | new_authorities_list: Vec<SerializedGrandpaAuthorityV1>, |
445 | | } |
446 | | |
447 | 0 | #[derive(Debug, serde::Serialize, serde::Deserialize)] Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssg_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1N_9serializepEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssg_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1O_9serializeINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB3e_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssg_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1O_9serializeQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssg_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde3ser9Serialize9serializeNtB3_15___SerializeWithB1O_9serializepEBe_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtB7_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1O_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor9visit_u64pEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor9visit_strpEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1P_7Visitor11visit_bytespEBe_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBa_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1P_11deserializepEBg_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBa_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1R_7Visitor9expecting Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBb_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1S_7Visitor9visit_seqpEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBe_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1V_7Visitor9visit_seqNtB3_17___DeserializeWithB1T_11deserializepEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBd_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1U_7Visitor9visit_seqpE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBb_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1S_7Visitor9visit_mappEBh_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defssh_1__NtBe_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1V_7Visitor9visit_mapNtB3_17___DeserializeWithB1T_11deserializepEBk_ Unexecuted instantiation: _RINvXs_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBa_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_7___FieldB1Q_11deserializeINtNtNtNtB1U_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBg_ Unexecuted instantiation: _RNvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtB7_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB2_14___FieldVisitorNtB1P_7Visitor9expecting Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor9visit_u64NtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor9visit_strNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RINvXNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtB8_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB3_14___FieldVisitorNtB1Q_7Visitor11visit_bytesNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEBe_ Unexecuted instantiation: _RNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBa_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB5_9___VisitorNtB1S_7Visitor9expecting Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBe_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1W_7Visitor9visit_seqNtB3_17___DeserializeWithB1U_11deserializeINtNtNtNtB1Y_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RINvXNvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBe_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB9_9___VisitorNtB1W_7Visitor9visit_mapNtB3_17___DeserializeWithB1U_11deserializeINtNtNtNtB1Y_9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEBk_ Unexecuted instantiation: _RNCINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBd_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB8_9___VisitorNtB1V_7Visitor9visit_seqQINtNtB1V_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1X_9___private2de7content7ContentENvMse_B5z_INtB5z_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6Q_EE0Bj_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBb_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1T_7Visitor9visit_seqQINtNtB1T_5value15SeqDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterNtNtNtNtB1V_9___private2de7content7ContentENvMse_B5x_INtB5x_19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorE3newEB6O_EEBh_ Unexecuted instantiation: _RINvXs0_NvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defssh_1__NtBb_28SerializedGrandpaAuthorityV1NtNtCsf0yC2YK6bpM_5serde2de11Deserialize11deserializeNtB6_9___VisitorNtB1T_7Visitor9visit_mapQINtNtB1T_5value15MapDeserializerINtNtNtNtCsaYZPK01V26L_4core4iter8adapters3map3MapINtNtNtCsdZExvAaxgia_5alloc3vec9into_iter8IntoIterTNtNtNtNtB1V_9___private2de7content7ContentB5w_EENCINvB5y_17visit_content_mapB2I_NtNtCscu7pqq74Vb8_10serde_json5error5ErrorE0EB6O_EEBh_ |
448 | | #[serde(deny_unknown_fields)] |
449 | | struct SerializedGrandpaAuthorityV1 { |
450 | | #[serde( |
451 | | serialize_with = "serialize_bytes", |
452 | | deserialize_with = "deserialize_hash32" |
453 | | )] |
454 | | public_key: [u8; 32], |
455 | | weight: NonZeroU64, |
456 | | } |
457 | | |
458 | | impl<'a> From<header::GrandpaAuthorityRef<'a>> for SerializedGrandpaAuthorityV1 { |
459 | 0 | fn from(from: header::GrandpaAuthorityRef<'a>) -> Self { |
460 | 0 | SerializedGrandpaAuthorityV1 { |
461 | 0 | public_key: *from.public_key, |
462 | 0 | weight: from.weight, |
463 | 0 | } |
464 | 0 | } Unexecuted instantiation: _RNvXs9_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_28SerializedGrandpaAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header7grandpa19GrandpaAuthorityRefE4from Unexecuted instantiation: _RNvXs9_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedGrandpaAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header7grandpa19GrandpaAuthorityRefE4from |
465 | | } |
466 | | |
467 | | impl<'a> From<&'a header::GrandpaAuthority> for SerializedGrandpaAuthorityV1 { |
468 | 0 | fn from(from: &'a header::GrandpaAuthority) -> Self { |
469 | 0 | SerializedGrandpaAuthorityV1 { |
470 | 0 | public_key: from.public_key, |
471 | 0 | weight: from.weight, |
472 | 0 | } |
473 | 0 | } Unexecuted instantiation: _RNvXsa_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_28SerializedGrandpaAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromRNtNtNtBb_6header7grandpa16GrandpaAuthorityE4from Unexecuted instantiation: _RNvXsa_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedGrandpaAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromRNtNtNtBb_6header7grandpa16GrandpaAuthorityE4from |
474 | | } |
475 | | |
476 | | impl From<header::GrandpaAuthority> for SerializedGrandpaAuthorityV1 { |
477 | 0 | fn from(from: header::GrandpaAuthority) -> Self { |
478 | 0 | SerializedGrandpaAuthorityV1 { |
479 | 0 | public_key: from.public_key, |
480 | 0 | weight: from.weight, |
481 | 0 | } |
482 | 0 | } Unexecuted instantiation: _RNvXsb_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtB5_28SerializedGrandpaAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header7grandpa16GrandpaAuthorityE4from Unexecuted instantiation: _RNvXsb_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtB5_28SerializedGrandpaAuthorityV1INtNtCsaYZPK01V26L_4core7convert4FromNtNtNtBb_6header7grandpa16GrandpaAuthorityE4from |
483 | | } |
484 | | |
485 | | impl From<SerializedGrandpaAuthorityV1> for header::GrandpaAuthority { |
486 | 0 | fn from(from: SerializedGrandpaAuthorityV1) -> Self { |
487 | 0 | header::GrandpaAuthority { |
488 | 0 | public_key: from.public_key, |
489 | 0 | weight: from.weight, |
490 | 0 | } |
491 | 0 | } Unexecuted instantiation: _RNvXsc_NtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header7grandpa16GrandpaAuthorityINtNtCsaYZPK01V26L_4core7convert4FromNtB5_28SerializedGrandpaAuthorityV1E4from Unexecuted instantiation: _RNvXsc_NtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defsNtNtNtBb_6header7grandpa16GrandpaAuthorityINtNtCsaYZPK01V26L_4core7convert4FromNtB5_28SerializedGrandpaAuthorityV1E4from |
492 | | } |
493 | | |
494 | 0 | fn serialize_bytes<S: serde::Serializer>(data: &[u8], serializer: S) -> Result<S::Ok, S::Error> { |
495 | 0 | struct Writer<'a>(&'a [u8]); |
496 | 0 | impl<'a> fmt::Display for Writer<'a> { |
497 | 0 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { |
498 | 0 | for byte in self.0 { |
499 | 0 | write!(f, "{byte:02x}")?; |
500 | 0 | } |
501 | 0 | Ok(()) |
502 | 0 | } Unexecuted instantiation: _RNvXNvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defs15serialize_bytesNtB2_6WriterNtNtCsaYZPK01V26L_4core3fmt7Display3fmt Unexecuted instantiation: _RNvXNvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defs15serialize_bytesNtB2_6WriterNtNtCsaYZPK01V26L_4core3fmt7Display3fmt |
503 | 0 | } |
504 | 0 |
|
505 | 0 | serializer.collect_str(&Writer(data)) |
506 | 0 | } Unexecuted instantiation: _RINvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defs15serialize_bytespEB8_ Unexecuted instantiation: _RINvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defs15serialize_bytesINtNtCscu7pqq74Vb8_10serde_json3ser18RawValueStrEmitterQINtNtCsdZExvAaxgia_5alloc3vec3VechENtB1n_16CompactFormatterEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defs15serialize_bytesQINtNtCscu7pqq74Vb8_10serde_json3ser10SerializerQINtNtCsdZExvAaxgia_5alloc3vec3VechEEECsDDUKWWCHAU_18smoldot_light_wasm Unexecuted instantiation: _RINvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defs15serialize_bytespEB8_ |
507 | | |
508 | 0 | fn deserialize_bytes<'de, D: serde::Deserializer<'de>>( |
509 | 0 | deserializer: D, |
510 | 0 | ) -> Result<Vec<u8>, D::Error> { |
511 | 0 | let string = <&str as serde::Deserialize>::deserialize(deserializer)?; |
512 | 0 | hex::decode(string).map_err(serde::de::Error::custom) |
513 | 0 | } Unexecuted instantiation: _RINvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defs17deserialize_bytespEB8_ Unexecuted instantiation: _RINvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defs17deserialize_bytesINtNtNtNtCsf0yC2YK6bpM_5serde9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEB8_ |
514 | | |
515 | 0 | fn deserialize_hash32<'de, D: serde::Deserializer<'de>>( |
516 | 0 | deserializer: D, |
517 | 0 | ) -> Result<[u8; 32], D::Error> { |
518 | 0 | let string = <&str as serde::Deserialize>::deserialize(deserializer)?; |
519 | 0 | if string.len() > 64 { |
520 | 0 | return Err(serde::de::Error::custom("invalid hash length")); |
521 | 0 | } |
522 | 0 |
|
523 | 0 | let mut out = [0u8; 32]; |
524 | 0 | hex::decode_to_slice(string, &mut out[(32 - string.len() / 2)..]) |
525 | 0 | .map_err(serde::de::Error::custom)?; |
526 | 0 | Ok(out) |
527 | 0 | } Unexecuted instantiation: _RINvNtNtNtCsN16ciHI6Qf_7smoldot8database19finalized_serialize4defs18deserialize_hash32pEB8_ Unexecuted instantiation: _RINvNtNtNtCseuYC0Zibziv_7smoldot8database19finalized_serialize4defs18deserialize_hash32INtNtNtNtCsf0yC2YK6bpM_5serde9___private2de7content19ContentDeserializerNtNtCscu7pqq74Vb8_10serde_json5error5ErrorEEB8_ |