1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Copyright 2019-2024 ChainSafe Systems
// SPDX-License-Identifier: Apache-2.0, MIT

use cid::Cid;
use serde_tuple::{self, Deserialize_tuple, Serialize_tuple};

use crate::blocks::CachingBlockHeader;

/// Block message used as serialized `gossipsub` messages for blocks topic.
#[cfg_attr(test, derive(derive_quickcheck_arbitrary::Arbitrary, Default))]
#[derive(Clone, Debug, PartialEq, Serialize_tuple, Deserialize_tuple)]
pub struct GossipBlock {
    pub header: CachingBlockHeader,
    pub bls_messages: Vec<Cid>,
    pub secpk_messages: Vec<Cid>,
}