mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-08 12:21:09 +03:00
36bcd3cc39
* Integrate PMMR and its persistent backend with the Chain * Chain can set tree roots; PMMR backend discard * Check spent and prune for each input in new block * Handling of forks by rewinding the state * More PMMR tests and fixes, mostly around rewind * Rewrite get_unspent to use the sumtrees, fix remaining compilation issues
46 lines
1.3 KiB
Rust
46 lines
1.3 KiB
Rust
// Copyright 2016 The Grin Developers
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//! The block chain itself, validates and accepts new blocks, handles reorgs.
|
|
|
|
#![deny(non_upper_case_globals)]
|
|
#![deny(non_camel_case_types)]
|
|
#![deny(non_snake_case)]
|
|
#![deny(unused_mut)]
|
|
#![warn(missing_docs)]
|
|
|
|
#[macro_use]
|
|
extern crate bitflags;
|
|
extern crate byteorder;
|
|
#[macro_use]
|
|
extern crate log;
|
|
extern crate serde;
|
|
#[macro_use]
|
|
extern crate serde_derive;
|
|
extern crate time;
|
|
|
|
extern crate grin_core as core;
|
|
extern crate grin_store;
|
|
extern crate secp256k1zkp as secp;
|
|
|
|
mod chain;
|
|
pub mod pipe;
|
|
pub mod store;
|
|
pub mod sumtree;
|
|
pub mod types;
|
|
|
|
// Re-export the base interface
|
|
|
|
pub use chain::Chain;
|
|
pub use types::{ChainStore, Tip, ChainAdapter, SYNC, NONE, SKIP_POW, EASY_POW, Options, Error};
|