persistence_std/types/cosmos/base/snapshots/
v1beta1.rs

1use persistence_std_derive::CosmwasmExt;
2/// Snapshot contains Tendermint state sync snapshot info.
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(
5    Clone,
6    PartialEq,
7    Eq,
8    ::prost::Message,
9    ::serde::Serialize,
10    ::serde::Deserialize,
11    ::schemars::JsonSchema,
12    CosmwasmExt,
13)]
14#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.Snapshot")]
15pub struct Snapshot {
16    #[prost(uint64, tag = "1")]
17    #[serde(
18        serialize_with = "crate::serde::as_str::serialize",
19        deserialize_with = "crate::serde::as_str::deserialize"
20    )]
21    pub height: u64,
22    #[prost(uint32, tag = "2")]
23    #[serde(
24        serialize_with = "crate::serde::as_str::serialize",
25        deserialize_with = "crate::serde::as_str::deserialize"
26    )]
27    pub format: u32,
28    #[prost(uint32, tag = "3")]
29    #[serde(
30        serialize_with = "crate::serde::as_str::serialize",
31        deserialize_with = "crate::serde::as_str::deserialize"
32    )]
33    pub chunks: u32,
34    #[prost(bytes = "vec", tag = "4")]
35    pub hash: ::prost::alloc::vec::Vec<u8>,
36    #[prost(message, optional, tag = "5")]
37    pub metadata: ::core::option::Option<Metadata>,
38}
39/// Metadata contains SDK-specific snapshot metadata.
40#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(
42    Clone,
43    PartialEq,
44    Eq,
45    ::prost::Message,
46    ::serde::Serialize,
47    ::serde::Deserialize,
48    ::schemars::JsonSchema,
49    CosmwasmExt,
50)]
51#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.Metadata")]
52pub struct Metadata {
53    /// SHA-256 chunk hashes
54    #[prost(bytes = "vec", repeated, tag = "1")]
55    pub chunk_hashes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
56}
57/// SnapshotItem is an item contained in a rootmulti.Store snapshot.
58///
59/// Since: cosmos-sdk 0.46
60#[allow(clippy::derive_partial_eq_without_eq)]
61#[derive(
62    Clone,
63    PartialEq,
64    Eq,
65    ::prost::Message,
66    ::serde::Serialize,
67    ::serde::Deserialize,
68    ::schemars::JsonSchema,
69    CosmwasmExt,
70)]
71#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotItem")]
72pub struct SnapshotItem {
73    /// item is the specific type of snapshot item.
74    #[prost(oneof = "snapshot_item::Item", tags = "1, 2, 3, 4, 5, 6")]
75    pub item: ::core::option::Option<snapshot_item::Item>,
76}
77/// Nested message and enum types in `SnapshotItem`.
78pub mod snapshot_item {
79    use persistence_std_derive::CosmwasmExt;
80    /// item is the specific type of snapshot item.
81    #[allow(clippy::derive_partial_eq_without_eq)]
82    #[derive(
83        Clone,
84        PartialEq,
85        Eq,
86        ::prost::Oneof,
87        ::schemars::JsonSchema,
88        ::serde::Serialize,
89        ::serde::Deserialize,
90    )]
91    pub enum Item {
92        #[prost(message, tag = "1")]
93        Store(super::SnapshotStoreItem),
94        #[prost(message, tag = "2")]
95        Iavl(super::SnapshotIavlItem),
96        #[prost(message, tag = "3")]
97        Extension(super::SnapshotExtensionMeta),
98        #[prost(message, tag = "4")]
99        ExtensionPayload(super::SnapshotExtensionPayload),
100        #[prost(message, tag = "5")]
101        Kv(super::SnapshotKvItem),
102        #[prost(message, tag = "6")]
103        Schema(super::SnapshotSchema),
104    }
105}
106/// SnapshotStoreItem contains metadata about a snapshotted store.
107///
108/// Since: cosmos-sdk 0.46
109#[allow(clippy::derive_partial_eq_without_eq)]
110#[derive(
111    Clone,
112    PartialEq,
113    Eq,
114    ::prost::Message,
115    ::serde::Serialize,
116    ::serde::Deserialize,
117    ::schemars::JsonSchema,
118    CosmwasmExt,
119)]
120#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotStoreItem")]
121pub struct SnapshotStoreItem {
122    #[prost(string, tag = "1")]
123    pub name: ::prost::alloc::string::String,
124}
125/// SnapshotIAVLItem is an exported IAVL node.
126///
127/// Since: cosmos-sdk 0.46
128#[allow(clippy::derive_partial_eq_without_eq)]
129#[derive(
130    Clone,
131    PartialEq,
132    Eq,
133    ::prost::Message,
134    ::serde::Serialize,
135    ::serde::Deserialize,
136    ::schemars::JsonSchema,
137    CosmwasmExt,
138)]
139#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotIAVLItem")]
140pub struct SnapshotIavlItem {
141    #[prost(bytes = "vec", tag = "1")]
142    pub key: ::prost::alloc::vec::Vec<u8>,
143    #[prost(bytes = "vec", tag = "2")]
144    pub value: ::prost::alloc::vec::Vec<u8>,
145    /// version is block height
146    #[prost(int64, tag = "3")]
147    #[serde(
148        serialize_with = "crate::serde::as_str::serialize",
149        deserialize_with = "crate::serde::as_str::deserialize"
150    )]
151    pub version: i64,
152    /// height is depth of the tree.
153    #[prost(int32, tag = "4")]
154    #[serde(
155        serialize_with = "crate::serde::as_str::serialize",
156        deserialize_with = "crate::serde::as_str::deserialize"
157    )]
158    pub height: i32,
159}
160/// SnapshotExtensionMeta contains metadata about an external snapshotter.
161///
162/// Since: cosmos-sdk 0.46
163#[allow(clippy::derive_partial_eq_without_eq)]
164#[derive(
165    Clone,
166    PartialEq,
167    Eq,
168    ::prost::Message,
169    ::serde::Serialize,
170    ::serde::Deserialize,
171    ::schemars::JsonSchema,
172    CosmwasmExt,
173)]
174#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta")]
175pub struct SnapshotExtensionMeta {
176    #[prost(string, tag = "1")]
177    pub name: ::prost::alloc::string::String,
178    #[prost(uint32, tag = "2")]
179    #[serde(
180        serialize_with = "crate::serde::as_str::serialize",
181        deserialize_with = "crate::serde::as_str::deserialize"
182    )]
183    pub format: u32,
184}
185/// SnapshotExtensionPayload contains payloads of an external snapshotter.
186///
187/// Since: cosmos-sdk 0.46
188#[allow(clippy::derive_partial_eq_without_eq)]
189#[derive(
190    Clone,
191    PartialEq,
192    Eq,
193    ::prost::Message,
194    ::serde::Serialize,
195    ::serde::Deserialize,
196    ::schemars::JsonSchema,
197    CosmwasmExt,
198)]
199#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload")]
200pub struct SnapshotExtensionPayload {
201    #[prost(bytes = "vec", tag = "1")]
202    pub payload: ::prost::alloc::vec::Vec<u8>,
203}
204/// SnapshotKVItem is an exported Key/Value Pair
205///
206/// Since: cosmos-sdk 0.46
207/// Deprecated: This message was part of store/v2alpha1 which has been deleted from v0.47.
208#[allow(clippy::derive_partial_eq_without_eq)]
209#[derive(
210    Clone,
211    PartialEq,
212    Eq,
213    ::prost::Message,
214    ::serde::Serialize,
215    ::serde::Deserialize,
216    ::schemars::JsonSchema,
217    CosmwasmExt,
218)]
219#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotKVItem")]
220#[deprecated]
221pub struct SnapshotKvItem {
222    #[prost(bytes = "vec", tag = "1")]
223    pub key: ::prost::alloc::vec::Vec<u8>,
224    #[prost(bytes = "vec", tag = "2")]
225    pub value: ::prost::alloc::vec::Vec<u8>,
226}
227/// SnapshotSchema is an exported schema of smt store
228///
229/// Since: cosmos-sdk 0.46
230/// Deprecated: This message was part of store/v2alpha1 which has been deleted from v0.47.
231#[allow(clippy::derive_partial_eq_without_eq)]
232#[derive(
233    Clone,
234    PartialEq,
235    Eq,
236    ::prost::Message,
237    ::serde::Serialize,
238    ::serde::Deserialize,
239    ::schemars::JsonSchema,
240    CosmwasmExt,
241)]
242#[proto_message(type_url = "/cosmos.base.snapshots.v1beta1.SnapshotSchema")]
243#[deprecated]
244pub struct SnapshotSchema {
245    #[prost(bytes = "vec", repeated, tag = "1")]
246    pub keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
247}