casper-node 2.0.3

The Casper blockchain node
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use async_trait::async_trait;

use super::GossipItem;
use crate::effect::{requests::StorageRequest, EffectBuilder};

#[async_trait]
pub(super) trait ItemProvider<T: GossipItem> {
    async fn is_stored<REv: From<StorageRequest> + Send>(
        effect_builder: EffectBuilder<REv>,
        item_id: T::Id,
    ) -> bool;

    async fn get_from_storage<REv: From<StorageRequest> + Send>(
        effect_builder: EffectBuilder<REv>,
        item_id: T::Id,
    ) -> Option<Box<T>>;
}