linera_core/
lib.rs

1// Copyright (c) Facebook, Inc. and its affiliates.
2// Copyright (c) Zefchain Labs, Inc.
3// SPDX-License-Identifier: Apache-2.0
4
5//! This module defines the core Linera protocol.
6
7#![recursion_limit = "256"]
8// We conditionally add autotraits to the traits here.
9#![allow(async_fn_in_trait)]
10
11mod chain_worker;
12pub use chain_worker::ChainWorkerConfig;
13pub mod client;
14pub use client::Client;
15pub mod data_types;
16pub mod join_set_ext;
17mod local_node;
18pub mod node;
19pub mod notifier;
20mod remote_node;
21#[cfg(with_testing)]
22#[path = "unit_tests/test_utils.rs"]
23pub mod test_utils;
24pub mod worker;
25
26pub(crate) mod updater;
27mod value_cache;
28
29pub use local_node::LocalNodeError;
30pub use updater::DEFAULT_QUORUM_GRACE_PERIOD;
31
32pub use crate::join_set_ext::{JoinSetExt, TaskHandle};
33
34pub mod environment;
35pub use environment::{
36    wallet::{self, Wallet},
37    Environment,
38};
39
40/// The maximum number of entries in a `received_log` included in a `ChainInfo` response.
41// TODO(#4638): Revisit the number.
42pub const CHAIN_INFO_MAX_RECEIVED_LOG_ENTRIES: usize = 20_000;