diff --git a/Cargo.lock b/Cargo.lock index f209c7a4..186ed5bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,6 +5,7 @@ dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitcrypto 0.1.0", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "chain 0.1.0", "eth-secp256k1 0.5.6 (git+https://github.com/ethcore/rust-secp256k1)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "primitives 0.1.0", @@ -40,6 +41,16 @@ name = "byteorder" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "chain" +version = "0.1.0" +dependencies = [ + "bitcrypto 0.1.0", + "primitives 0.1.0", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", + "serialization 0.1.0", +] + [[package]] name = "eth-secp256k1" version = "0.5.6" diff --git a/Cargo.toml b/Cargo.toml index 2b35824b..ba20c540 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,8 @@ rustc-serialize = "0.3" lazy_static = "0.2" eth-secp256k1 = { git = "https://github.com/ethcore/rust-secp256k1" } base58 = "0.1" -primitives = { path = "primitives" } + bitcrypto = { path = "crypto" } +chain = { path = "chain" } +primitives = { path = "primitives" } serialization = { path = "serialization" } diff --git a/chain/Cargo.toml b/chain/Cargo.toml new file mode 100644 index 00000000..57d0cc9e --- /dev/null +++ b/chain/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "chain" +version = "0.1.0" +authors = ["debris "] + +[dependencies] +rustc-serialize = "0.3" +bitcrypto = { path = "../crypto" } +primitives = { path = "../primitives" } +serialization = { path = "../serialization" } + diff --git a/src/chain/block.rs b/chain/src/block.rs similarity index 97% rename from src/chain/block.rs rename to chain/src/block.rs index 854fa34d..165e4238 100644 --- a/src/chain/block.rs +++ b/chain/src/block.rs @@ -1,12 +1,12 @@ use hex::FromHex; -use chain::{BlockHeader, Transaction}; -use chain::merkle_root::merkle_root; use crypto::dhash256; use hash::H256; use ser::{ Deserializable, Reader, Error as ReaderError, deserialize, Serializable, Stream, serialize }; +use merkle_root::merkle_root; +use {BlockHeader, Transaction}; pub struct Block { block_header: BlockHeader, diff --git a/src/chain/block_header.rs b/chain/src/block_header.rs similarity index 100% rename from src/chain/block_header.rs rename to chain/src/block_header.rs diff --git a/src/chain/mod.rs b/chain/src/lib.rs similarity index 63% rename from src/chain/mod.rs rename to chain/src/lib.rs index 43cf8912..efe75e61 100644 --- a/src/chain/mod.rs +++ b/chain/src/lib.rs @@ -1,8 +1,16 @@ +extern crate rustc_serialize; +extern crate primitives; +extern crate bitcrypto as crypto; +extern crate serialization as ser; + mod block; mod block_header; mod merkle_root; mod transaction; +pub use rustc_serialize::hex; +pub use primitives::{hash, bytes}; + pub use self::block::Block; pub use self::block_header::BlockHeader; pub use self::transaction::{ diff --git a/src/chain/merkle_root.rs b/chain/src/merkle_root.rs similarity index 100% rename from src/chain/merkle_root.rs rename to chain/src/merkle_root.rs diff --git a/src/chain/transaction.rs b/chain/src/transaction.rs similarity index 100% rename from src/chain/transaction.rs rename to chain/src/transaction.rs diff --git a/src/lib.rs b/src/lib.rs index b2fa5cb0..ecdfb36e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,8 +3,8 @@ //! module(depends_on..) //! //! net(primitives, serialization) -//! script(primitives, serialization, chain) -//! chain(primitives, serialization) +//! script(primitives, serialization, chain, crypto) +//! chain(primitives, serialization, crypto) //! keys(primitives, crypto) //! crypto(primitives) //! serialization(primitives) @@ -17,11 +17,12 @@ extern crate rustc_serialize; extern crate lazy_static; extern crate secp256k1; extern crate base58; -extern crate primitives; + extern crate bitcrypto as crypto; +extern crate chain; +extern crate primitives; extern crate serialization as ser; -pub mod chain; pub mod keys; pub mod net; pub mod script;