substreams_near_core/
block_view.rs1use crate::pb::sf::near::r#type::v1 as pb;
2use hex;
3
4impl pb::Block {
5 pub fn state_changes(&self) -> StateChangesView<'_> {
6 StateChangesView {
7 state_changes: &self.state_changes,
8 }
9 }
10
11 pub fn hash(&self) -> Option<String> {
12 match &self.header {
13 Some(header) => match &header.hash {
14 Some(hash) => Some(hex::encode(&hash.bytes)),
15 None => None,
16 },
17 None => None,
18 }
19 }
20}
21
22pub struct StateChangesView<'a> {
23 pub state_changes: &'a Vec<pb::StateChangeWithCause>,
24}
25
26impl AsRef<Vec<pb::StateChangeWithCause>> for StateChangesView<'_> {
27 fn as_ref(&self) -> &Vec<pb::StateChangeWithCause> {
28 self.state_changes
29 }
30}