Skip to main content

midnight_ledger/
lib.rs

1// This file is part of midnight-ledger.
2// Copyright (C) 2025 Midnight Foundation
3// SPDX-License-Identifier: Apache-2.0
4// Licensed under the Apache License, Version 2.0 (the "License");
5// You may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7// http://www.apache.org/licenses/LICENSE-2.0
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
13
14#![deny(unreachable_pub)]
15#![deny(warnings)]
16
17//! This crate implements transaction assembly and semantics for Midnight as a prototype.
18
19#[macro_use]
20extern crate tracing;
21
22pub mod annotation;
23pub mod construct;
24pub mod dust;
25pub mod error;
26pub mod events;
27#[path = "tracing.rs"]
28mod ledger_tracing;
29mod primitive;
30mod prior_versions;
31pub mod prove;
32pub mod semantics;
33pub mod structure;
34mod utils;
35pub mod verify;
36pub mod zswap;
37
38pub use ledger_tracing::{LogLevel, init_logger};
39
40#[cfg(feature = "test-utilities")]
41pub mod test_utilities;
42
43#[cfg(feature = "unstable")]
44const _: &str = env!(
45    "MIDNIGHT_LEDGER_EXPERIMENTAL",
46    "attempted to use experimental feature without setting `MIDNIGHT_LEDGER_EXPERIMENTAL`."
47);