canic_core/ops/storage/state/
subnet.rs

1use crate::{
2    dto::state::SubnetStateView,
3    model::memory::state::SubnetState,
4    ops::adapter::state::{subnet_state_from_view, subnet_state_to_view},
5};
6
7///
8/// SubnetStateOps
9///
10
11pub struct SubnetStateOps;
12
13impl SubnetStateOps {
14    /// Import subnet state from a public view.
15    pub fn import_view(view: SubnetStateView) {
16        let data = subnet_state_from_view(view);
17        SubnetState::import(data);
18    }
19
20    /// Export subnet state as a public view.
21    #[must_use]
22    pub fn export_view() -> SubnetStateView {
23        let data = SubnetState::export();
24
25        subnet_state_to_view(data)
26    }
27}