1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
//! Shard state models.

use crate::cell::*;
use crate::dict::RawDict;
use crate::error::*;
use crate::util::{CustomClone, CustomDebug, CustomEq};

use crate::models::block::{BlockRef, ShardIdent};
use crate::models::currency::CurrencyCollection;
use crate::models::Lazy;

pub use self::shard_accounts::*;
pub use self::shard_extra::*;

mod shard_accounts;
mod shard_extra;

/// Applied shard state.
#[derive(CustomDebug, CustomClone, CustomEq)]
pub enum ShardState<C: CellFamily> {
    /// The next indivisible state in the shard.
    Unsplit(ShardStateUnsplit<C>),
    /// Next indivisible states after shard split.
    Split(ShardStateSplit<C>),
}

impl<C: CellFamily> Store<C> for ShardState<C> {
    fn store_into(&self, builder: &mut CellBuilder<C>, finalizer: &mut dyn Finalizer<C>) -> bool {
        match self {
            Self::Unsplit(state) => state.store_into(builder, finalizer),
            Self::Split(state) => state.store_into(builder, finalizer),
        }
    }
}

impl<'a, C: CellFamily> Load<'a, C> for ShardState<C> {
    fn load_from(slice: &mut CellSlice<'a, C>) -> Option<Self> {
        Some(if slice.get_bit(0)? {
            Self::Unsplit(ShardStateUnsplit::load_from(slice)?)
        } else {
            Self::Split(ShardStateSplit::load_from(slice)?)
        })
    }
}

/// State of the single shard.
#[derive(CustomDebug, CustomClone, CustomEq)]
pub struct ShardStateUnsplit<C: CellFamily> {
    /// Global network id.
    pub global_id: i32,
    /// Id of the shard.
    pub shard_ident: ShardIdent,
    /// Sequence number of the corresponding block.
    pub seqno: u32,
    /// Vertical sequcent number of the corresponding block.
    pub vert_seqno: u32,
    /// Unix timestamp when the block was created.
    pub gen_utime: u32,
    /// Logical time when the state was created.
    pub gen_lt: u64,
    /// Minimal referenced seqno of the masterchain block.
    pub min_ref_mc_seqno: u32,
    /// Output messages queue info.
    pub out_msg_queue_info: CellContainer<C>,
    /// Whether this state was produced before the shards split.
    pub before_split: bool,
    /// Reference to the dictionary with shard accounts.
    pub accounts: Lazy<C, ShardAccounts<C>>,
    /// Mask for the overloaded blocks.
    pub overload_history: u64,
    /// Mask for the underloaded blocks.
    pub underload_history: u64,
    /// Total balance for all currencies.
    pub total_balance: CurrencyCollection<C>,
    /// Total pending validator fees.
    pub total_validator_fees: CurrencyCollection<C>,
    /// Dictionary with all libraries and its providers.
    pub libraries: RawDict<C, 256>,
    /// Optional reference to the masterchain block.
    pub master_ref: Option<BlockRef>,
    /// Shard state additional info.
    pub custom: Option<Lazy<C, McStateExtra<C>>>,
}

impl<C: CellFamily> ShardStateUnsplit<C> {
    const TAG: u32 = 0x9023afe2;

    /// Tries to load shard accounts dictionary.
    pub fn load_accounts(&self) -> Result<ShardAccounts<C>, Error> {
        self.accounts.load().ok_or(Error::CellUnderflow)
    }

    /// Tries to load additional masterchain data.
    pub fn load_custom(&self) -> Result<Option<McStateExtra<C>>, Error> {
        match &self.custom {
            Some(custom) => match custom.load() {
                Some(custom) => Ok(Some(custom)),
                None => Err(Error::CellUnderflow),
            },
            None => Ok(None),
        }
    }
}

impl<C: CellFamily> Store<C> for ShardStateUnsplit<C> {
    fn store_into(&self, builder: &mut CellBuilder<C>, finalizer: &mut dyn Finalizer<C>) -> bool {
        let child_cell = 'cell: {
            let mut builder = CellBuilder::<C>::new();
            if builder.store_u64(self.overload_history)
                && builder.store_u64(self.underload_history)
                && self.total_balance.store_into(&mut builder, finalizer)
                && self
                    .total_validator_fees
                    .store_into(&mut builder, finalizer)
                && self.libraries.store_into(&mut builder, finalizer)
                && self.master_ref.store_into(&mut builder, finalizer)
            {
                if let Some(cell) = builder.build_ext(finalizer) {
                    break 'cell cell;
                }
            }
            return false;
        };

        builder.store_u32(Self::TAG)
            && builder.store_u32(self.global_id as u32)
            && self.shard_ident.store_into(builder, finalizer)
            && builder.store_u32(self.seqno)
            && builder.store_u32(self.vert_seqno)
            && builder.store_u32(self.gen_utime)
            && builder.store_u64(self.gen_lt)
            && builder.store_u32(self.min_ref_mc_seqno)
            && builder.store_reference(self.out_msg_queue_info.clone())
            && builder.store_bit(self.before_split)
            && builder.store_reference(self.accounts.cell.clone())
            && builder.store_reference(child_cell)
            && self.custom.store_into(builder, finalizer)
    }
}

impl<'a, C: CellFamily> Load<'a, C> for ShardStateUnsplit<C> {
    fn load_from(slice: &mut CellSlice<'a, C>) -> Option<Self> {
        if slice.load_u32()? != Self::TAG {
            return None;
        }

        let out_msg_queue_info = slice.load_reference_cloned()?;
        let accounts = Lazy::load_from(slice)?;

        let child_slice = &mut slice.load_reference()?.as_slice();

        Some(Self {
            global_id: slice.load_u32()? as i32,
            shard_ident: ShardIdent::load_from(slice)?,
            seqno: slice.load_u32()?,
            vert_seqno: slice.load_u32()?,
            gen_utime: slice.load_u32()?,
            gen_lt: slice.load_u64()?,
            min_ref_mc_seqno: slice.load_u32()?,
            out_msg_queue_info,
            before_split: slice.load_bit()?,
            accounts,
            overload_history: child_slice.load_u64()?,
            underload_history: child_slice.load_u64()?,
            total_balance: CurrencyCollection::load_from(child_slice)?,
            total_validator_fees: CurrencyCollection::load_from(child_slice)?,
            libraries: RawDict::load_from(child_slice)?,
            master_ref: Option::<BlockRef>::load_from(child_slice)?,
            custom: Option::<Lazy<C, McStateExtra<C>>>::load_from(slice)?,
        })
    }
}

/// Next indivisible states after shard split.
#[derive(CustomDebug, CustomClone, CustomEq, Store, Load)]
#[tlb(tag = "#5f327da5")]
pub struct ShardStateSplit<C: CellFamily> {
    /// Reference to the state of the left shard.
    pub left: Lazy<C, ShardStateUnsplit<C>>,
    /// Reference to the state of the right shard.
    pub right: Lazy<C, ShardStateUnsplit<C>>,
}

#[cfg(test)]
mod tests {
    use super::*;
    use crate::models::Block;
    use crate::util::DisplayHash;
    use crate::{RcBoc, RcCell};

    fn check_state(data: RcCell) {
        let data = data.parse::<ShardStateUnsplit<_>>().unwrap();

        println!("data: {data:#?}");

        let shard_accounts = data.load_accounts().unwrap();
        for entry in shard_accounts.iter() {
            let (id, shard_state) = entry.unwrap();
            let account = shard_state.load_account().unwrap();
            println!("{}: {account:#?}", DisplayHash(&id));
        }

        let _elector = shard_accounts.get([0x33; 32]).unwrap().unwrap();
        assert!(shard_accounts.contains_account([0x55; 32]).unwrap());

        let custom = data.load_custom().unwrap().unwrap();
        println!("custom: {custom:#?}");
    }

    #[test]
    fn prod_zerostate() {
        const BOC: &str = "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";
        check_state(RcBoc::decode_base64(BOC).unwrap());
    }

    #[test]
    fn new_zerostate() {
        const BOC: &str = "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";

        let old_state = RcBoc::decode_base64(BOC).unwrap();
        check_state(old_state.clone());

        let block = RcBoc::decode_base64("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").unwrap();
        let block = block.parse::<Block<_>>().unwrap();
        let state_update = block.state_update.load().unwrap();

        let new_state = state_update.apply(&old_state).unwrap();
        check_state(new_state);
    }
}