forest-filecoin 0.33.0

Rust Filecoin implementation.
Documentation
// Copyright 2019-2026 ChainSafe Systems
// SPDX-License-Identifier: Apache-2.0, MIT

use super::*;

const ENCODED_F3_SNAP_HEADER_HEX: &str = "8401001a00086e7d94831a00021b71480002fbe0000000005830aedb9e1f2f4e20a6a6327b9136b8472b16f1f56cec2b6d9341a12a97dc90a39e93f026baefeea09b7507e3bf1fc70981831a00022eff4800010ae80000000058308cc2fc55933c0413e763b63b10b131b3e53f57882e0c79231de0ada3227e01ed817d689e3150874170a4a2f6b590cd93831943eb48000103dcdf0000005830b2158a380b942e099ee4c7522921d638598ebb487f97c5d5ed06a29ba47f620513316f7a596b0a4d5aff7343275c212f83190fc84700faa80000000058308a9b00505fedc14edde52278ea229f4fe91e80890f5f8951200663e41f8034986f56ffd593f4e6a9a282a81ef8dfdc1c831a0002114a4700b2180000000058308c39f779f522b8de5836f7c421427f40556f934376e493a6e0fc0c72f8e35228fcf14e116fa73146ae4d88710c668e4083190ec64700948000000000583095748c4cd115988755c49578725996df98eb96c0447f2b4d5064d6562876745950d64ffb410b6db141b3a43e49a0d6908319ea7847003a90000000005830b5a56233aa1dcbffa5a2326e9b224826b3d540998e8dffea40ee238a7c7ed67e6cc9e21fad0e3e4af9dd00329063c9cd831945b047001fd0ec10000058308cddcf1d23cf25a361cd9a451eeed1d391aae84adc2220d3b2d6d9b6c929d487581ddbde3c53b6770b1b1b3dfe21e8bc831a0001c5b3470001980000000058308d1768b8b3c8fe31025ce52323dc1112bd2e3d1b39923cab98aa821283100fe3635eee56938b63eb60eef4e117c55013831a0001e00a470001600000000058308d1768b8b3c8fe31025ce52323dc1112bd2e3d1b39923cab98aa821283100fe3635eee56938b63eb60eef4e117c55013831a0001c2ad47000138000000005830a64817823ab8728463b34ee36b44761ffdab722762d675f76f631dcfc02affc95e9f54cd765b7bc98c1619991dfbe2f2831a0002307b4600b8000000005830962b2e0e92443cec526cac167a7f80f42bd907b68c17f2e93baff6232b8f4d396b43458810dd95aea41163b7cc047222831903f54600b0000000005830a37c98356d8fa32a1a8fcbd6a009395c4a34177aae9cd28c1c652963fbe445e95513e9f0c8281047ebcbf97cdd0aed0f831a00021051460090009000005830a57b3347936bc303bdf8fc232e701270db3817507562f0cd591114adeb5596c665f828510f52f678e213ad31f0eb6b3383190e7a460078000000005830b234c6533b5b40b7241345a9e9a06eea45877b510170ae9d221bfcdd577d482ead9eb1f74992f667e96459ff43b0e5218319049b460068000000005830a6c8a62aec6bff5b185c220aebe671af9cb24560fce4913c7edffd4368ba7af67a292ab8bfde1b326d6885b27976d59b831a0001bf50460040000000005830ad31d1d68bb36fc0e830ad5d452c7e676ff3277d3ad86a45bacbdfe15b5d89119434fa003031dd2f82907717aba10f9b8319048f46002800000000583097f447a28d7a7a3a489a1683d5a6eb7f0a96bac3b67d6dfeee43bb8ed3a8b223887d9defc6436b73e8b75b2ee2cf9b4f8319066b4600280000000058309561056d88ceb20291cb4770aab1613502bbf8bd226bb0b1ba132cf770bbd00120cc6c09ebf4f4c6ae0fab38d83c833d831a0002286b4600220000000058308018ef30920f5ef4420164b13a806958563fabd74a356537bd38796d0baf070d8c10f3ba57e34ee1ccbea1517bcff9c2";

#[test]
pub fn test_f3_snap_header_serde() {
    let encoded_block_bytes = hex::decode(ENCODED_F3_SNAP_HEADER_HEX).unwrap();
    let F3SnapshotHeader {
        version,
        first_instance,
        latest_instance,
        initial_power_table,
    } = fvm_ipld_encoding::from_slice(&encoded_block_bytes).unwrap();
    assert_eq!(version, 1);
    assert_eq!(first_instance, 0);
    assert_eq!(latest_instance, 552573);
    assert_eq!(initial_power_table.len(), 20);
}