diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f19148ebb5f00ddbbf23bfae1102d36ddf8cb6f..3f42afa52aff7ffdc2765c11530c78816fe34f7d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -136,7 +136,7 @@ tests:win64:stable: - cargo test --package durs-ws2p-messages --target=x86_64-pc-windows-gnu - cargo test --package dup-crypto --target=x86_64-pc-windows-gnu - cargo test --package durs-common-tools --target=x86_64-pc-windows-gnu - - cargo test --package dubp-documents --target=x86_64-pc-windows-gnu + - cargo test --package dubp-user-docs --target=x86_64-pc-windows-gnu - cargo test --package json-pest-parser --target=x86_64-pc-windows-gnu - cargo test --package durs-network-documents --target=x86_64-pc-windows-gnu - cargo test --package rules-engine --target=x86_64-pc-windows-gnu diff --git a/Cargo.lock b/Cargo.lock index 13417b4f18e0392927b5d7c7c17f4ea70e4ed4eb..062d4974ac17a5254daf703e312b6b6faa3bfd53 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -289,6 +289,28 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "dubp-block-doc" +version = "0.1.0" +dependencies = [ + "dubp-common-doc 0.1.0", + "dubp-currency-params 0.2.0", + "dubp-user-docs 0.14.0", + "dubp-user-docs-tests-tools 0.1.0", + "dup-crypto 0.7.0", + "durs-common-tools 0.2.0", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "json-pest-parser 0.2.0", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pretty_assertions 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.86 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", + "unwrap 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "dubp-common-doc" version = "0.1.0" @@ -320,11 +342,10 @@ dependencies = [ ] [[package]] -name = "dubp-documents" +name = "dubp-user-docs" version = "0.14.0" dependencies = [ "dubp-common-doc 0.1.0", - "dubp-currency-params 0.2.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -340,12 +361,13 @@ dependencies = [ ] [[package]] -name = "dubp-documents-tests-tools" +name = "dubp-user-docs-tests-tools" version = "0.1.0" dependencies = [ + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "dup-crypto-tests-tools 0.1.0", ] @@ -394,10 +416,11 @@ name = "durs-blockchain" version = "0.2.0-a" dependencies = [ "dirs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", - "dubp-documents-tests-tools 0.1.0", + "dubp-user-docs 0.14.0", + "dubp-user-docs-tests-tools 0.1.0", "dup-crypto 0.7.0", "dup-crypto-tests-tools 0.1.0", "durs-blockchain-dal 0.2.0-a", @@ -424,10 +447,11 @@ dependencies = [ name = "durs-blockchain-dal" version = "0.2.0-a" dependencies = [ + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", - "dubp-documents-tests-tools 0.1.0", + "dubp-user-docs 0.14.0", + "dubp-user-docs-tests-tools 0.1.0", "dup-crypto 0.7.0", "dup-crypto-tests-tools 0.1.0", "durs-common-tests-tools 0.1.0", @@ -466,7 +490,7 @@ version = "0.2.0-a" dependencies = [ "dirs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-module 0.2.0-a", @@ -508,9 +532,10 @@ dependencies = [ name = "durs-message" version = "0.2.0-a" dependencies = [ + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-blockchain-dal 0.2.0-a", "durs-module 0.2.0-a", @@ -526,7 +551,7 @@ name = "durs-module" version = "0.2.0-a" dependencies = [ "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-network-documents 0.4.0", @@ -542,8 +567,9 @@ dependencies = [ name = "durs-network" version = "0.2.0-a" dependencies = [ + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-module 0.2.0-a", @@ -563,7 +589,7 @@ dependencies = [ "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -584,7 +610,7 @@ name = "durs-skeleton" version = "0.1.0" dependencies = [ "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-conf 0.2.0-a", @@ -604,7 +630,7 @@ name = "durs-tui" version = "0.2.0-a" dependencies = [ "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-conf 0.2.0-a", @@ -641,7 +667,7 @@ dependencies = [ "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tests-tools 0.1.0", "durs-common-tools 0.2.0", @@ -668,9 +694,10 @@ version = "0.2.0-a" dependencies = [ "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-network-documents 0.4.0", @@ -688,7 +715,7 @@ version = "0.2.0-a" dependencies = [ "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-module 0.2.0-a", @@ -708,9 +735,10 @@ version = "0.2.0-a" dependencies = [ "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "dubp-block-doc 0.1.0", "dubp-common-doc 0.1.0", "dubp-currency-params 0.2.0", - "dubp-documents 0.14.0", + "dubp-user-docs 0.14.0", "dup-crypto 0.7.0", "durs-common-tools 0.2.0", "durs-conf 0.2.0-a", diff --git a/Cargo.toml b/Cargo.toml index 47f6588f533ed942ff9f05db6fe7e821824d2145..3e9fa9165aba2a699e7f6368d6f7f35ac4ed24bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,9 +7,10 @@ members = [ "lib/core/module", "lib/core/network", "lib/crypto", + "lib/dubp/block-doc", "lib/dubp/common-doc", "lib/dubp/currency-params", - "lib/dubp/documents", + "lib/dubp/user-docs", "lib/dubp/wot", "lib/dunp/network-documents", "lib/modules/blockchain/blockchain", @@ -20,7 +21,7 @@ members = [ "lib/modules/ws2p/ws2p", "lib/modules/ws2p/ws2p-protocol", "lib/tests-tools/crypto-tests-tools", - "lib/tests-tools/documents-tests-tools", + "lib/tests-tools/user-docs-tests-tools", "lib/tests-tools/common-tests-tools", "lib/tools/common-tools", "lib/tools/json-pest-parser", diff --git a/doc/fr/developpeurs/installer-son-environnement-de-dev.md b/doc/fr/developpeurs/installer-son-environnement-de-dev.md index c64f275c22f7cf6b687dedb7f5f23689131d29ef..845d98b9635c9b082fa05ce6404909f41e01add6 100644 --- a/doc/fr/developpeurs/installer-son-environnement-de-dev.md +++ b/doc/fr/developpeurs/installer-son-environnement-de-dev.md @@ -318,13 +318,13 @@ La compilation de cette feature `ssl` nécessitera que vous ayez la lib opensssl ### tc="cargo fmt && cargo test --package" -Pour exécuter les tests d'une crate en particulier. Par exemple pour exécuter les tests de la crate `dubp-documents` sasissez la commande suivante : +Pour exécuter les tests d'une crate en particulier. Par exemple pour exécuter les tests de la crate `dubp-user-docs` sasissez la commande suivante : - tc dubp-documents + tc dubp-user-docs Le nom d'une crate est indiqué dans l'attribut `name` du fichier `Cargo.toml` situé a la racine de la crate en question. -Par exemple pour la crate située dans `lib/tools/documents`, il faut regarder le fichier `lib/tools/documents/Cargo.toml`. +Par exemple pour la crate située dans `lib/tools/user-docs`, il faut regarder le fichier `lib/tools/user-docs/Cargo.toml`. ### ta="cargo fmt && cargo test --all" diff --git a/doc/fr/developpeurs/tests-auto.md b/doc/fr/developpeurs/tests-auto.md index c5f8b86a850fb18151ff714eaab2e40d38a24cbb..50389ac92f4ef71afb8feedede9a6a70f64bcebc 100644 --- a/doc/fr/developpeurs/tests-auto.md +++ b/doc/fr/developpeurs/tests-auto.md @@ -26,13 +26,13 @@ Pour exécutez les tests (TU+TI) d'une crate en particulier : cargo test --package CRATE_NAME -Par exemple pour exécuter les tests (TU+TI) de la crate dubp-documents: +Par exemple pour exécuter les tests (TU+TI) de la crate dubp-user-docs: - cargo test --package dubp-documents + cargo test --package dubp-user-docs Le nom d'une crate est indiqué dans l'attribut `name` du fichier `Cargo.toml` situé a la racine de la crate en question. -Par exemple pour la crate située dans `lib/tools/documents`, il faut regarder le fichier `lib/tools/documents/Cargo.toml`. +Par exemple pour la crate située dans `lib/tools/user-docs`, il faut regarder le fichier `lib/tools/user-docs/Cargo.toml`. ## Lancer tout les tests du projet diff --git a/lib/core/conf/Cargo.toml b/lib/core/conf/Cargo.toml index d051703407a421219cabd2ed6728bf83bca2310c..b9c4b43598b70a61e396d887cea91d860e4b001e 100644 --- a/lib/core/conf/Cargo.toml +++ b/lib/core/conf/Cargo.toml @@ -13,7 +13,7 @@ path = "src/lib.rs" dirs = "1.0.2" dup-crypto = { path = "../../crypto" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } durs-module = { path = "../module" } durs-common-tools = { path = "../../tools/common-tools" } failure = "0.1.5" diff --git a/lib/core/message/Cargo.toml b/lib/core/message/Cargo.toml index b97bf7afd77402fe45a10904ee4b7fcde200a0e7..4c353a568760a928247b2e9852b52b5103e5b516 100644 --- a/lib/core/message/Cargo.toml +++ b/lib/core/message/Cargo.toml @@ -10,9 +10,10 @@ edition = "2018" path = "src/lib.rs" [dependencies] +dubp-block-doc = { path = "../../dubp/block-doc"} #, version = "0.1.0" } dubp-common-doc = { path = "../../dubp/common-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } dup-crypto = { path = "../../crypto" } durs-module = { path = "../module" } durs-network = { path = "../network" } diff --git a/lib/core/message/src/events.rs b/lib/core/message/src/events.rs index c89ac18fa581fd7bef7d41587b5b8c907107f90b..88385edfd55dac3bd49a07db705e6dedb45a407a 100644 --- a/lib/core/message/src/events.rs +++ b/lib/core/message/src/events.rs @@ -14,9 +14,9 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::*; +use dubp_block_doc::BlockDocument; use dubp_common_doc::Blockstamp; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::UserDocumentDUBP; +use dubp_user_docs::documents::UserDocumentDUBP; use durs_network::events::NetworkEvent; /// The DURS event message. diff --git a/lib/core/message/src/responses.rs b/lib/core/message/src/responses.rs index e04778d6a167c60d712d08d781210d4ec0c6c88c..ee7dfbde9b964162df5c0937fdeabd3526b79125 100644 --- a/lib/core/message/src/responses.rs +++ b/lib/core/message/src/responses.rs @@ -13,13 +13,13 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +use dubp_block_doc::BlockDocument; use dubp_common_doc::BlockNumber; use dubp_common_doc::Blockstamp; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::certification::CertificationDocument; -use dubp_documents::documents::identity::IdentityDocument; -use dubp_documents::documents::membership::MembershipDocument; -use dubp_documents::documents::revocation::RevocationDocumentV10; +use dubp_user_docs::documents::certification::CertificationDocument; +use dubp_user_docs::documents::identity::IdentityDocument; +use dubp_user_docs::documents::membership::MembershipDocument; +use dubp_user_docs::documents::revocation::RevocationDocumentV10; use dup_crypto::hashs::Hash; use dup_crypto::keys::*; use durs_module::ModuleReqId; diff --git a/lib/core/module/Cargo.toml b/lib/core/module/Cargo.toml index dba78f8455dc3c45409e4aa0432cabb29ca62ba1..53f63f034ca55df521ba6de08052342aa9f3b19d 100644 --- a/lib/core/module/Cargo.toml +++ b/lib/core/module/Cargo.toml @@ -12,7 +12,7 @@ path = "src/lib.rs" [dependencies] dup-crypto = { path = "../../crypto" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents = { path = "../../dubp/documents" } +dubp-user-docs = { path = "../../dubp/user-docs" } durs-common-tools = { path = "../../tools/common-tools" } durs-network-documents = { path = "../../dunp/network-documents" } failure = "0.1.5" diff --git a/lib/core/network/Cargo.toml b/lib/core/network/Cargo.toml index 448287c6b49ac5a5ff76b56691748dc0406605b2..534087f233900a3d323118126a2daa80368ef377 100644 --- a/lib/core/network/Cargo.toml +++ b/lib/core/network/Cargo.toml @@ -10,8 +10,9 @@ edition = "2018" path = "lib.rs" [dependencies] +dubp-block-doc = { path = "../../dubp/block-doc"} #, version = "0.1.0" } dubp-common-doc = { path = "../../dubp/common-doc"} #, version = "0.1.0" } -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } dup-crypto = { path = "../../crypto" } durs-common-tools = { path = "../../tools/common-tools" } durs-module = { path = "../module" } diff --git a/lib/core/network/events.rs b/lib/core/network/events.rs index 954ed019cfe200d8e98172b0feb09a06f4951332..12df524923965a5ae34c0d7a854ada87966201bb 100644 --- a/lib/core/network/events.rs +++ b/lib/core/network/events.rs @@ -18,9 +18,9 @@ use crate::network_head::NetworkHead; use crate::network_peer::PeerCard; use crate::NodeFullId; +use dubp_block_doc::BlockDocument; use dubp_common_doc::blockstamp::Blockstamp; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::UserDocumentDUBP; +use dubp_user_docs::documents::UserDocumentDUBP; use durs_common_tools::Percent; #[derive(Debug, Clone)] diff --git a/lib/core/network/requests.rs b/lib/core/network/requests.rs index 0dad6800ab6544c07190c706f777e4490aeff190..ac7b1c878dfb941a75496cfe54e2eaeb1d850be3 100644 --- a/lib/core/network/requests.rs +++ b/lib/core/network/requests.rs @@ -16,9 +16,9 @@ //! Defined network requests. use crate::*; +use dubp_block_doc::BlockDocument; use dubp_common_doc::blockstamp::Blockstamp; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::UserDocumentDUBP; +use dubp_user_docs::documents::UserDocumentDUBP; #[derive(Debug, Copy, Clone)] /// Type containing a request addressed to the network module diff --git a/lib/dubp/block-doc/Cargo.toml b/lib/dubp/block-doc/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..750f9a399bea968c34b31c081dce7eee1675f3ad --- /dev/null +++ b/lib/dubp/block-doc/Cargo.toml @@ -0,0 +1,35 @@ +[package] +name = "dubp-block-doc" +version = "0.1.0" +authors = ["elois <elois@ifee.fr>"] +description = "Handles DUBP block (DUBP: DUniter Blockhain Protocol)." +repository = "https://git.duniter.org/nodes/rust/duniter-rs" +readme = "README.md" +keywords = ["dunitrust", "duniter", "blockchain", "cryptocurrency", "block"] +license = "AGPL-3.0" +edition = "2018" + +[lib] +path = "src/lib.rs" + +[dependencies] +dubp-common-doc = { path = "../common-doc"} #, version = "0.1.0" } +dubp-currency-params = { path = "../currency-params", version = "0.2.0" } +dubp-user-docs = { path = "../user-docs", version = "0.14.0" } +dup-crypto = { path = "../../crypto", version = "0.7.0" } +durs-common-tools = { path = "../../tools/common-tools", version = "0.2.0" } +failure = "0.1.5" +json-pest-parser = { path = "../../tools/json-pest-parser", version = "0.2.0" } +pest = "2.1.0" +pest_derive = "2.1.0" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" +log = "0.4.*" +unwrap = "1.2.1" + +[dev-dependencies] +pretty_assertions = "0.5.1" +dubp-user-docs-tests-tools = { path = "../../tests-tools/user-docs-tests-tools" } + +[features] \ No newline at end of file diff --git a/lib/dubp/block-doc/README.md b/lib/dubp/block-doc/README.md new file mode 100644 index 0000000000000000000000000000000000000000..5e2e488c9d47476f6bac2c3ef48e85c4e7ddfb21 --- /dev/null +++ b/lib/dubp/block-doc/README.md @@ -0,0 +1,9 @@ +# DUBP block doc + +This crate provides the definition of the blocks format in [DUBP](dubp-latest-rfc) as well as the methods to manipulate them. + +[dubp-latest-rfc]: https://git.duniter.org/nodes/common/doc/blob/master/rfc/0009_Duniter_Blockchain_Protocol_V11.md + +## How to use it + +You can add `dubp-block-doc` as a `cargo` dependency in your Rust project. diff --git a/lib/dubp/documents/src/documents/block.rs b/lib/dubp/block-doc/src/block.rs similarity index 100% rename from lib/dubp/documents/src/documents/block.rs rename to lib/dubp/block-doc/src/block.rs diff --git a/lib/dubp/documents/src/documents/block/v10.rs b/lib/dubp/block-doc/src/block/v10.rs similarity index 97% rename from lib/dubp/documents/src/documents/block/v10.rs rename to lib/dubp/block-doc/src/block/v10.rs index 73832fce71503cceee8392235f7d935718f5337a..43b343acf9ae8777ce7b70c2269ad04477c8e207 100644 --- a/lib/dubp/documents/src/documents/block/v10.rs +++ b/lib/dubp/block-doc/src/block/v10.rs @@ -16,19 +16,22 @@ //! Wrappers around Block document V10. use super::{BlockDocumentTrait, VerifyBlockHashError}; -use crate::documents::certification::v10::CompactCertificationDocumentV10Stringified; -use crate::documents::identity::IdentityDocumentV10; -use crate::documents::membership::v10::{MembershipDocumentV10, MembershipDocumentV10Stringified}; -use crate::documents::revocation::v10::CompactRevocationDocumentV10Stringified; -use crate::documents::revocation::RevocationDocumentV10; -use crate::documents::transaction::TransactionDocument; -use crate::documents::*; use dubp_common_doc::blockstamp::Blockstamp; use dubp_common_doc::traits::text::*; use dubp_common_doc::traits::{Document, ToStringObject}; use dubp_common_doc::{BlockHash, BlockNumber}; use dubp_currency_params::genesis_block_params::v10::BlockV10Parameters; use dubp_currency_params::CurrencyName; +use dubp_user_docs::documents::certification::v10::{ + CertificationDocumentV10, CompactCertificationDocumentV10Stringified, +}; +use dubp_user_docs::documents::identity::{IdentityDocumentV10, IdentityDocumentV10Stringified}; +use dubp_user_docs::documents::membership::v10::{ + MembershipDocumentV10, MembershipDocumentV10Stringified, +}; +use dubp_user_docs::documents::revocation::v10::CompactRevocationDocumentV10Stringified; +use dubp_user_docs::documents::revocation::RevocationDocumentV10; +use dubp_user_docs::documents::transaction::{TransactionDocument, TransactionDocumentStringified}; use dup_crypto::hashs::Hash; use dup_crypto::keys::*; use durs_common_tools::fatal_error; @@ -620,10 +623,14 @@ impl ToStringObject for BlockDocumentV10 { #[cfg(test)] mod tests { - use super::certification::CertificationDocumentParser; - use super::transaction::TransactionDocumentParser; use super::*; + use dubp_common_doc::parser::TextDocumentParser; use dubp_common_doc::traits::Document; + use dubp_user_docs::documents::certification::{ + CertificationDocument, CertificationDocumentParser, + }; + use dubp_user_docs::documents::membership::{MembershipDocument, MembershipDocumentParser}; + use dubp_user_docs::documents::transaction::{TransactionDocument, TransactionDocumentParser}; #[test] fn generate_and_verify_empty_block() { diff --git a/lib/dubp/block-doc/src/lib.rs b/lib/dubp/block-doc/src/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..d668761d2235c2e73dc862b901e5fce383573e40 --- /dev/null +++ b/lib/dubp/block-doc/src/lib.rs @@ -0,0 +1,77 @@ +// Copyright (C) 2017-2019 The AXIOM TEAM Association. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +//! Wrappers around Block document. + +#![deny( + missing_debug_implementations, + missing_copy_implementations, + trivial_casts, + trivial_numeric_casts, + unsafe_code, + unstable_features, + unused_import_braces +)] + +#[macro_use] +extern crate log; +#[cfg(test)] +#[macro_use] +extern crate pretty_assertions; +#[macro_use] +extern crate serde_derive; + +pub mod block; +pub mod parser; + +use dubp_common_doc::traits::ToStringObject; +use dubp_user_docs::documents::{UserDocumentDUBP, UserDocumentDUBPStr}; + +pub use block::{ + BlockDocument, BlockDocumentStringified, BlockDocumentV10, BlockDocumentV10Stringified, +}; + +/// Document of DUBP (DUniter Blockhain Protocol) +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum DocumentDUBP { + /// Block document. + Block(Box<BlockDocument>), + /// User document of DUBP (DUniter Blockhain Protocol) + UserDocument(UserDocumentDUBP), +} + +/// List of stringified document types. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum DocumentDUBPStr { + /// Block document (not yet implemented) + Block(Box<BlockDocumentStringified>), + /// Stringified user document. + UserDocument(UserDocumentDUBPStr), +} + +impl ToStringObject for DocumentDUBP { + type StringObject = DocumentDUBPStr; + + fn to_string_object(&self) -> Self::StringObject { + match *self { + DocumentDUBP::Block(ref doc) => { + DocumentDUBPStr::Block(Box::new(doc.to_string_object())) + } + DocumentDUBP::UserDocument(ref user_doc) => { + DocumentDUBPStr::UserDocument(user_doc.to_string_object()) + } + } + } +} diff --git a/lib/dubp/documents/src/parsers/blocks.rs b/lib/dubp/block-doc/src/parser.rs similarity index 94% rename from lib/dubp/documents/src/parsers/blocks.rs rename to lib/dubp/block-doc/src/parser.rs index c7d7f168d760b7f45df11bf5eeaab1b1481f2562..83855d976c8e31401b0213d7297294e1e567fe89 100644 --- a/lib/dubp/documents/src/parsers/blocks.rs +++ b/lib/dubp/block-doc/src/parser.rs @@ -13,13 +13,14 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. -use crate::documents::block::{v10::TxDocOrTxHash, BlockDocument, BlockDocumentV10}; -use crate::documents::membership::v10::MembershipType; -use crate::parsers::{serde_json_value_to_pest_json_value, DefaultHasher}; -use crate::*; +//! Parsers for block. + +use crate::block::{v10::TxDocOrTxHash, BlockDocument, BlockDocumentV10}; use dubp_common_doc::{BlockHash, BlockNumber}; use dubp_currency_params::genesis_block_params::v10::BlockV10Parameters; use dubp_currency_params::CurrencyName; +use dubp_user_docs::documents::membership::v10::MembershipType; +use dubp_user_docs::parsers::{serde_json_value_to_pest_json_value, DefaultHasher}; use dup_crypto::bases::BaseConvertionError; use dup_crypto::hashs::Hash; use dup_crypto::keys::*; @@ -91,26 +92,26 @@ pub fn parse_json_block(json_block: &JSONValue<DefaultHasher>) -> Result<BlockDo }, inner_hash: Some(Hash::from_hex(get_str(json_block, "inner_hash")?)?), dividend: get_optional_usize(json_block, "dividend")?, - identities: crate::parsers::identities::parse_compact_identities( + identities: dubp_user_docs::parsers::identities::parse_compact_identities( currency, get_str_array(json_block, "identities")?, )?, - joiners: crate::parsers::memberships::parse_compact_memberships( + joiners: dubp_user_docs::parsers::memberships::parse_compact_memberships( currency, MembershipType::In(), &get_str_array(json_block, "joiners")?, )?, - actives: crate::parsers::memberships::parse_compact_memberships( + actives: dubp_user_docs::parsers::memberships::parse_compact_memberships( currency, MembershipType::In(), &get_str_array(json_block, "actives")?, )?, - leavers: crate::parsers::memberships::parse_compact_memberships( + leavers: dubp_user_docs::parsers::memberships::parse_compact_memberships( currency, MembershipType::Out(), &get_str_array(json_block, "leavers")?, )?, - revoked: crate::parsers::revoked::parse_revocations_into_compact(&get_str_array( + revoked: dubp_user_docs::parsers::revoked::parse_revocations_into_compact(&get_str_array( json_block, "revoked", )?), excluded: get_str_array(json_block, "excluded")? @@ -118,7 +119,7 @@ pub fn parse_json_block(json_block: &JSONValue<DefaultHasher>) -> Result<BlockDo .map(|p| ed25519::PublicKey::from_base58(p)) .map(|p| p.map(PubKey::Ed25519)) .collect::<Result<Vec<PubKey>, BaseConvertionError>>()?, - certifications: crate::parsers::certifications::parse_certifications_into_compact( + certifications: dubp_user_docs::parsers::certifications::parse_certifications_into_compact( &get_str_array(json_block, "certifications")?, ), transactions: json_block @@ -132,7 +133,7 @@ pub fn parse_json_block(json_block: &JSONValue<DefaultHasher>) -> Result<BlockDo .to_owned(), })? .iter() - .map(|tx| crate::parsers::transactions::parse_json_transaction(tx)) + .map(|tx| dubp_user_docs::parsers::transactions::parse_json_transaction(tx)) .map(|tx_result| tx_result.map(|tx_doc| TxDocOrTxHash::TxDoc(Box::new(tx_doc)))) .collect::<Result<Vec<TxDocOrTxHash>, Error>>()?, })) @@ -141,7 +142,7 @@ pub fn parse_json_block(json_block: &JSONValue<DefaultHasher>) -> Result<BlockDo #[cfg(test)] mod tests { use super::*; - use crate::documents::block::BlockDocumentTrait; + use crate::block::*; #[test] fn parse_empty_json_block() { @@ -237,8 +238,6 @@ mod tests { ); } - use crate::documents::block::VerifyBlockHashError; - #[test] fn parse_json_block_with_one_tx() -> Result<(), VerifyBlockHashError> { let block_json_str = r#"{ @@ -354,7 +353,7 @@ mod tests { revoked: vec![], excluded: vec![], certifications: vec![], - transactions: vec![TxDocOrTxHash::TxDoc(Box::new(crate::parsers::tests::first_g1_tx_doc()))], + transactions: vec![TxDocOrTxHash::TxDoc(Box::new(dubp_user_docs_tests_tools::mocks::tx::first_g1_tx_doc()))], }); assert_eq!( expected_block, diff --git a/lib/dubp/documents/Cargo.toml b/lib/dubp/user-docs/Cargo.toml similarity index 90% rename from lib/dubp/documents/Cargo.toml rename to lib/dubp/user-docs/Cargo.toml index 2742315fd6918e0698f0f52263cf7474f24ed520..bfee1943664d6367091c20efd36048e194d1975b 100644 --- a/lib/dubp/documents/Cargo.toml +++ b/lib/dubp/user-docs/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "dubp-documents" +name = "dubp-user-docs" version = "0.14.0" authors = ["nanocryk <nanocryk@duniter.org>", "elois <elois@ifee.fr>"] description = "Handles DUBP documents (DUBP: DUniter Blockhain Protocol)" @@ -14,7 +14,6 @@ path = "src/lib.rs" [dependencies] dubp-common-doc = { path = "../common-doc"} #, version = "0.1.0" } -dubp-currency-params = { path = "../currency-params", version = "0.2.0" } dup-crypto = { path = "../../crypto", version = "0.7.0" } durs-common-tools = { path = "../../tools/common-tools", version = "0.2.0" } failure = "0.1.5" diff --git a/lib/dubp/documents/README.md b/lib/dubp/user-docs/README.md similarity index 100% rename from lib/dubp/documents/README.md rename to lib/dubp/user-docs/README.md diff --git a/lib/dubp/documents/src/documents/certification.rs b/lib/dubp/user-docs/src/documents/certification.rs similarity index 100% rename from lib/dubp/documents/src/documents/certification.rs rename to lib/dubp/user-docs/src/documents/certification.rs diff --git a/lib/dubp/documents/src/documents/certification/v10.rs b/lib/dubp/user-docs/src/documents/certification/v10.rs similarity index 100% rename from lib/dubp/documents/src/documents/certification/v10.rs rename to lib/dubp/user-docs/src/documents/certification/v10.rs diff --git a/lib/dubp/documents/src/documents/identity.rs b/lib/dubp/user-docs/src/documents/identity.rs similarity index 100% rename from lib/dubp/documents/src/documents/identity.rs rename to lib/dubp/user-docs/src/documents/identity.rs diff --git a/lib/dubp/documents/src/documents/identity/v10.rs b/lib/dubp/user-docs/src/documents/identity/v10.rs similarity index 100% rename from lib/dubp/documents/src/documents/identity/v10.rs rename to lib/dubp/user-docs/src/documents/identity/v10.rs diff --git a/lib/dubp/documents/src/documents/membership.rs b/lib/dubp/user-docs/src/documents/membership.rs similarity index 100% rename from lib/dubp/documents/src/documents/membership.rs rename to lib/dubp/user-docs/src/documents/membership.rs diff --git a/lib/dubp/documents/src/documents/membership/v10.rs b/lib/dubp/user-docs/src/documents/membership/v10.rs similarity index 100% rename from lib/dubp/documents/src/documents/membership/v10.rs rename to lib/dubp/user-docs/src/documents/membership/v10.rs diff --git a/lib/dubp/documents/src/documents/mod.rs b/lib/dubp/user-docs/src/documents/mod.rs similarity index 92% rename from lib/dubp/documents/src/documents/mod.rs rename to lib/dubp/user-docs/src/documents/mod.rs index 16d48f81cd80e1a8ead19171028e559b5f2bd624..ac5cb1a2258bdc83a01c00fff1e2339b23c9a4bc 100644 --- a/lib/dubp/documents/src/documents/mod.rs +++ b/lib/dubp/user-docs/src/documents/mod.rs @@ -15,7 +15,6 @@ //! Implements the Dunitrust blockchain Documents. -use crate::documents::block::*; use crate::documents::certification::*; use crate::documents::identity::*; use crate::documents::membership::*; @@ -27,22 +26,12 @@ use durs_common_tools::fatal_error; use pest::iterators::Pair; use pest::Parser; -pub mod block; pub mod certification; pub mod identity; pub mod membership; pub mod revocation; pub mod transaction; -/// Document of DUBP (DUniter Blockhain Protocol) -#[derive(Debug, Clone, Serialize, Deserialize)] -pub enum DocumentDUBP { - /// Block document. - Block(Box<BlockDocument>), - /// User document of DUBP (DUniter Blockhain Protocol) - UserDocument(UserDocumentDUBP), -} - /// User document of DUBP (DUniter Blockhain Protocol) #[derive(Debug, Clone, Serialize, Deserialize)] pub enum UserDocumentDUBP { @@ -62,15 +51,6 @@ pub enum UserDocumentDUBP { Revocation(Box<RevocationDocument>), } -/// List of stringified document types. -#[derive(Debug, Clone, Serialize, Deserialize)] -pub enum DocumentDUBPStr { - /// Block document (not yet implemented) - Block(Box<BlockDocumentStringified>), - /// Stringified user document. - UserDocument(UserDocumentDUBPStr), -} - /// List of stringified user document types. #[derive(Debug, Clone, Serialize, Deserialize)] pub enum UserDocumentDUBPStr { @@ -90,21 +70,6 @@ pub enum UserDocumentDUBPStr { Revocation(Box<RevocationDocumentStringified>), } -impl ToStringObject for DocumentDUBP { - type StringObject = DocumentDUBPStr; - - fn to_string_object(&self) -> Self::StringObject { - match *self { - DocumentDUBP::Block(ref doc) => { - DocumentDUBPStr::Block(Box::new(doc.to_string_object())) - } - DocumentDUBP::UserDocument(ref user_doc) => { - DocumentDUBPStr::UserDocument(user_doc.to_string_object()) - } - } - } -} - impl ToStringObject for UserDocumentDUBP { type StringObject = UserDocumentDUBPStr; diff --git a/lib/dubp/documents/src/documents/revocation.rs b/lib/dubp/user-docs/src/documents/revocation.rs similarity index 100% rename from lib/dubp/documents/src/documents/revocation.rs rename to lib/dubp/user-docs/src/documents/revocation.rs diff --git a/lib/dubp/documents/src/documents/revocation/v10.rs b/lib/dubp/user-docs/src/documents/revocation/v10.rs similarity index 100% rename from lib/dubp/documents/src/documents/revocation/v10.rs rename to lib/dubp/user-docs/src/documents/revocation/v10.rs diff --git a/lib/dubp/documents/src/documents/transaction.rs b/lib/dubp/user-docs/src/documents/transaction.rs similarity index 100% rename from lib/dubp/documents/src/documents/transaction.rs rename to lib/dubp/user-docs/src/documents/transaction.rs diff --git a/lib/dubp/documents/src/lib.rs b/lib/dubp/user-docs/src/lib.rs similarity index 100% rename from lib/dubp/documents/src/lib.rs rename to lib/dubp/user-docs/src/lib.rs diff --git a/lib/dubp/documents/src/parsers/certifications.rs b/lib/dubp/user-docs/src/parsers/certifications.rs similarity index 100% rename from lib/dubp/documents/src/parsers/certifications.rs rename to lib/dubp/user-docs/src/parsers/certifications.rs diff --git a/lib/dubp/documents/src/parsers/identities.rs b/lib/dubp/user-docs/src/parsers/identities.rs similarity index 100% rename from lib/dubp/documents/src/parsers/identities.rs rename to lib/dubp/user-docs/src/parsers/identities.rs diff --git a/lib/dubp/documents/src/parsers/memberships.rs b/lib/dubp/user-docs/src/parsers/memberships.rs similarity index 100% rename from lib/dubp/documents/src/parsers/memberships.rs rename to lib/dubp/user-docs/src/parsers/memberships.rs diff --git a/lib/dubp/documents/src/parsers/mod.rs b/lib/dubp/user-docs/src/parsers/mod.rs similarity index 57% rename from lib/dubp/documents/src/parsers/mod.rs rename to lib/dubp/user-docs/src/parsers/mod.rs index c9b80fb0647df0a9e98a9af5e6cc0d45cdc63287..5cadf3d85d4e2e8161b60b20fc84a99f766b41a8 100644 --- a/lib/dubp/documents/src/parsers/mod.rs +++ b/lib/dubp/user-docs/src/parsers/mod.rs @@ -13,9 +13,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. -/// Parsers for block -pub mod blocks; - /// Parsers for certifications pub mod certifications; @@ -35,13 +32,16 @@ use json_pest_parser::{JSONValue, Number}; use serde_json::Value; use std::collections::HashMap; -type DefaultHasher = std::hash::BuildHasherDefault<std::collections::hash_map::DefaultHasher>; +/// Default hasher +pub type DefaultHasher = std::hash::BuildHasherDefault<std::collections::hash_map::DefaultHasher>; #[derive(Copy, Clone, Debug, Fail)] #[fail(display = "Fail to convert serde_json::Value into json_pest_parser::JSONValue")] -struct JsonValueConversionError; +/// Error on conversion of serde_json value into pest_json value +pub struct JsonValueConversionError; -fn serde_json_value_to_pest_json_value( +/// Convert serde_json value into pest_json value +pub fn serde_json_value_to_pest_json_value( value: &Value, ) -> Result<JSONValue<DefaultHasher>, JsonValueConversionError> { match value { @@ -77,50 +77,3 @@ fn serde_json_value_to_pest_json_value( //std::collections::HashMap<&str, json_pest_parser::JSONValue<'_, std::hash::BuildHasherDefault<std::collections::hash_map::DefaultHasher>>> //std::iter::Iterator<Item=(&std::string::String, json_pest_parser::JSONValue<'_, std::hash::BuildHasherDefault<std::collections::hash_map::DefaultHasher>>)> - -#[cfg(test)] -mod tests { - use crate::documents::transaction::*; - use dubp_common_doc::traits::DocumentBuilder; - use dubp_common_doc::Blockstamp; - use dup_crypto::keys::*; - use std::str::FromStr; - - pub fn first_g1_tx_doc() -> TransactionDocument { - let expected_tx_builder = TransactionDocumentBuilder { - currency: &"g1", - blockstamp: &Blockstamp::from_string( - "50-00001DAA4559FEDB8320D1040B0F22B631459F36F237A0D9BC1EB923C12A12E7", - ) - .expect("Fail to parse blockstamp"), - locktime: &0, - issuers: &vec![PubKey::Ed25519( - ed25519::PublicKey::from_base58("2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ") - .expect("Fail to parse issuer !"), - )], - inputs: &vec![TransactionInput::from_str( - "1000:0:D:2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ:1", - ) - .expect("Fail to parse inputs")], - unlocks: &vec![ - TransactionInputUnlocks::from_str("0:SIG(0)").expect("Fail to parse unlocks") - ], - outputs: &vec![ - TransactionOutput::from_str( - "1:0:SIG(Com8rJukCozHZyFao6AheSsfDQdPApxQRnz7QYFf64mm)", - ) - .expect("Fail to parse outputs"), - TransactionOutput::from_str( - "999:0:SIG(2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ)", - ) - .expect("Fail to parse outputs"), - ], - comment: "TEST", - hash: None, - }; - - expected_tx_builder.build_with_signature(vec![Sig::Ed25519( - ed25519::Signature::from_base64("fAH5Gor+8MtFzQZ++JaJO6U8JJ6+rkqKtPrRr/iufh3MYkoDGxmjzj6jCADQL+hkWBt8y8QzlgRkz0ixBcKHBw==").expect("Fail to parse sig !") - )]) - } -} diff --git a/lib/dubp/documents/src/parsers/revoked.rs b/lib/dubp/user-docs/src/parsers/revoked.rs similarity index 100% rename from lib/dubp/documents/src/parsers/revoked.rs rename to lib/dubp/user-docs/src/parsers/revoked.rs diff --git a/lib/dubp/documents/src/parsers/transactions.rs b/lib/dubp/user-docs/src/parsers/transactions.rs similarity index 70% rename from lib/dubp/documents/src/parsers/transactions.rs rename to lib/dubp/user-docs/src/parsers/transactions.rs index ba282dd6e4539501a4467296814f10b8e93d88de..7d6f5e714a08bfa6738122e43f648dfd176c29ca 100644 --- a/lib/dubp/documents/src/parsers/transactions.rs +++ b/lib/dubp/user-docs/src/parsers/transactions.rs @@ -86,9 +86,50 @@ pub fn parse_json_transaction( #[cfg(test)] mod tests { use super::*; + use dubp_common_doc::traits::DocumentBuilder; + use dubp_common_doc::Blockstamp; + use std::str::FromStr; + + pub fn first_g1_tx_doc() -> TransactionDocument { + let expected_tx_builder = TransactionDocumentBuilder { + currency: &"g1", + blockstamp: &Blockstamp::from_string( + "50-00001DAA4559FEDB8320D1040B0F22B631459F36F237A0D9BC1EB923C12A12E7", + ) + .expect("Fail to parse blockstamp"), + locktime: &0, + issuers: &vec![PubKey::Ed25519( + ed25519::PublicKey::from_base58("2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ") + .expect("Fail to parse issuer !"), + )], + inputs: &vec![TransactionInput::from_str( + "1000:0:D:2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ:1", + ) + .expect("Fail to parse inputs")], + unlocks: &vec![ + TransactionInputUnlocks::from_str("0:SIG(0)").expect("Fail to parse unlocks") + ], + outputs: &vec![ + TransactionOutput::from_str( + "1:0:SIG(Com8rJukCozHZyFao6AheSsfDQdPApxQRnz7QYFf64mm)", + ) + .expect("Fail to parse outputs"), + TransactionOutput::from_str( + "999:0:SIG(2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ)", + ) + .expect("Fail to parse outputs"), + ], + comment: "TEST", + hash: None, + }; + + expected_tx_builder.build_with_signature(vec![Sig::Ed25519( + ed25519::Signature::from_base64("fAH5Gor+8MtFzQZ++JaJO6U8JJ6+rkqKtPrRr/iufh3MYkoDGxmjzj6jCADQL+hkWBt8y8QzlgRkz0ixBcKHBw==").expect("Fail to parse sig !") + )]) + } #[test] - fn parse_empty_json_block() { + fn test_parse_json_tx() { let tx_json_str = r#"{ "version": 10, "currency": "g1", @@ -120,7 +161,7 @@ mod tests { json_pest_parser::parse_json_string(tx_json_str).expect("Fail to parse json tx !"); assert_eq!( - crate::parsers::tests::first_g1_tx_doc(), + first_g1_tx_doc(), parse_json_transaction(&tx_json_value).expect("Fail to parse tx_json_value !") ); } diff --git a/lib/dunp/network-documents/Cargo.toml b/lib/dunp/network-documents/Cargo.toml index 1c272107c4df8211bbb8d4682853891226e80091..06a488ba6aa3691fde79bd27c3f987b336672fd3 100644 --- a/lib/dunp/network-documents/Cargo.toml +++ b/lib/dunp/network-documents/Cargo.toml @@ -15,7 +15,7 @@ path = "src/lib.rs" base58 = "0.1.*" dubp-common-doc = { path = "../../dubp/common-doc" } #, version = "0.1.0" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } dup-crypto = { path = "../../crypto" } durs-common-tools = { path = "../../tools/common-tools" } failure = "0.1.5" diff --git a/lib/modules/blockchain/blockchain-dal/Cargo.toml b/lib/modules/blockchain/blockchain-dal/Cargo.toml index f6d40bdedec0dceeab733c771838e4a0d06b1e11..7af736a1e2e0d29c7b378ee73391eb1b1741b8b5 100644 --- a/lib/modules/blockchain/blockchain-dal/Cargo.toml +++ b/lib/modules/blockchain/blockchain-dal/Cargo.toml @@ -10,10 +10,11 @@ edition = "2018" path = "src/lib.rs" [dependencies] +dubp-block-doc = { path = "../../../dubp/block-doc"} #, version = "0.1.0" } dubp-common-doc = { path = "../../../dubp/common-doc"} #, version = "0.1.0" } dup-crypto = { path = "../../../crypto" } dubp-currency-params = { path = "../../../dubp/currency-params" } -dubp-documents= { path = "../../../dubp/documents" } +dubp-user-docs= { path = "../../../dubp/user-docs" } durs-conf = { path = "../../../core/conf" } durs-module = { path = "../../../core/module" } durs-common-tools = { path = "../../../tools/common-tools" } @@ -29,7 +30,7 @@ unwrap = "1.2.1" [dev-dependencies] dup-crypto-tests-tools = { path = "../../../tests-tools/crypto-tests-tools" } -dubp-documents-tests-tools = { path = "../../../tests-tools/documents-tests-tools" } +dubp-user-docs-tests-tools = { path = "../../../tests-tools/user-docs-tests-tools" } durs-common-tests-tools = { path = "../../../tests-tools/common-tests-tools" } [features] diff --git a/lib/modules/blockchain/blockchain-dal/src/entities/block.rs b/lib/modules/blockchain/blockchain-dal/src/entities/block.rs index 059260fe0e11037dfcbc59824ae8f656e2e534f5..e93bdd72b3a1b7004d2c191722cab6999009bdc6 100644 --- a/lib/modules/blockchain/blockchain-dal/src/entities/block.rs +++ b/lib/modules/blockchain/blockchain-dal/src/entities/block.rs @@ -14,9 +14,9 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::*; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; use dubp_common_doc::traits::Document; use dubp_common_doc::BlockNumber; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; use durs_wot::NodeId; use std::collections::HashMap; diff --git a/lib/modules/blockchain/blockchain-dal/src/entities/fork_tree.rs b/lib/modules/blockchain/blockchain-dal/src/entities/fork_tree.rs index 69abeffec0029df608083d0e85feec2bb63cf1d2..7c27bfeab9310972c9205e0be963b194dbe79f85 100644 --- a/lib/modules/blockchain/blockchain-dal/src/entities/fork_tree.rs +++ b/lib/modules/blockchain/blockchain-dal/src/entities/fork_tree.rs @@ -533,7 +533,7 @@ mod tests { // Fill tree with 10 nodes let mut tree = ForkTree::default(); let blockstamps: Vec<Blockstamp> = - dubp_documents_tests_tools::mocks::generate_blockstamps(10); + dubp_user_docs_tests_tools::mocks::generate_blockstamps(10); tree.insert_new_node(blockstamps[0], None, true); for i in 1..10 { tree.insert_new_node(blockstamps[i], Some(TreeNodeId(i - 1)), true); @@ -620,7 +620,7 @@ mod tests { fn insert_more_fork_window_size_nodes() { let mut tree = ForkTree::default(); let blockstamps: Vec<Blockstamp> = - dubp_documents_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 2); + dubp_user_docs_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 2); // Fill tree with MAX_DEPTH nodes tree.insert_new_node(blockstamps[0], None, true); @@ -657,7 +657,7 @@ mod tests { fn test_change_main_branch() { let mut tree = ForkTree::default(); let blockstamps: Vec<Blockstamp> = - dubp_documents_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 2); + dubp_user_docs_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 2); // Fill tree with MAX_DEPTH nodes tree.insert_new_node(blockstamps[0], None, true); diff --git a/lib/modules/blockchain/blockchain-dal/src/entities/identity.rs b/lib/modules/blockchain/blockchain-dal/src/entities/identity.rs index 6bc7d8f6519ed5053498636dd590f73a39354276..ab1e1e4344a3899e68596474373e5daab8d056ca 100644 --- a/lib/modules/blockchain/blockchain-dal/src/entities/identity.rs +++ b/lib/modules/blockchain/blockchain-dal/src/entities/identity.rs @@ -14,7 +14,7 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use dubp_common_doc::{BlockNumber, Blockstamp}; -use dubp_documents::documents::identity::IdentityDocumentV10; +use dubp_user_docs::documents::identity::IdentityDocumentV10; use durs_wot::NodeId; #[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq, Hash)] diff --git a/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs b/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs index defd3a4331c01cef38b0c82f89670e1b4894f711..0e059ecc7bb918efb00d437ddd33182611089ea2 100644 --- a/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs +++ b/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs @@ -14,7 +14,7 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use dubp_common_doc::BlockNumber; -use dubp_documents::documents::transaction::*; +use dubp_user_docs::documents::transaction::*; use dup_crypto::hashs::Hash; use dup_crypto::keys::PubKey; use durs_common_tools::fatal_error; diff --git a/lib/modules/blockchain/blockchain-dal/src/lib.rs b/lib/modules/blockchain/blockchain-dal/src/lib.rs index 5057cf08322e3614ca161aa27dd54ac295f6f1ff..d2f4c9b1360c5c734b18df19ac9654736215ca67 100644 --- a/lib/modules/blockchain/blockchain-dal/src/lib.rs +++ b/lib/modules/blockchain/blockchain-dal/src/lib.rs @@ -52,7 +52,7 @@ pub mod tools; pub mod writers; use dubp_common_doc::{BlockNumber, Blockstamp, PreviousBlockstamp}; -use dubp_documents::documents::transaction::*; +use dubp_user_docs::documents::transaction::*; use dup_crypto::hashs::Hash; use dup_crypto::keys::*; use durs_common_tools::fatal_error; diff --git a/lib/modules/blockchain/blockchain-dal/src/readers/block.rs b/lib/modules/blockchain/blockchain-dal/src/readers/block.rs index 670467afb4808878d8dcf37d9db3aa9fa4234d6a..034b15e7736dc2cbe46d81156dc6dc9b067c62e6 100644 --- a/lib/modules/blockchain/blockchain-dal/src/readers/block.rs +++ b/lib/modules/blockchain/blockchain-dal/src/readers/block.rs @@ -14,9 +14,9 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::*; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; use dubp_common_doc::traits::Document; use dubp_common_doc::{BlockHash, BlockNumber, Blockstamp}; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; use dup_crypto::keys::*; use std::collections::HashMap; use unwrap::unwrap; diff --git a/lib/modules/blockchain/blockchain-dal/src/readers/currency_params.rs b/lib/modules/blockchain/blockchain-dal/src/readers/currency_params.rs index bf047f0dfbf05521244e932f8c74f9fd3edc67bf..70aa7f536541d0accea97ee63fcc544f74b4f7d6 100644 --- a/lib/modules/blockchain/blockchain-dal/src/readers/currency_params.rs +++ b/lib/modules/blockchain/blockchain-dal/src/readers/currency_params.rs @@ -14,11 +14,11 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::*; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; use dubp_common_doc::traits::Document; use dubp_currency_params::db::write_currency_params; use dubp_currency_params::genesis_block_params::GenesisBlockParams; use dubp_currency_params::CurrencyParameters; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; use unwrap::unwrap; /// Get and write currency params diff --git a/lib/modules/blockchain/blockchain-dal/src/readers/identity.rs b/lib/modules/blockchain/blockchain-dal/src/readers/identity.rs index 04db9db50e20e21d7140ba1dbfd6c75e215d3076..78539356278981bbf356618d714addebb20228d4 100644 --- a/lib/modules/blockchain/blockchain-dal/src/readers/identity.rs +++ b/lib/modules/blockchain/blockchain-dal/src/readers/identity.rs @@ -132,7 +132,7 @@ mod test { joined_on: Blockstamp::default(), expired_on: None, revoked_on: None, - idty_doc: dubp_documents_tests_tools::mocks::identity::gen_mock_idty( + idty_doc: dubp_user_docs_tests_tools::mocks::identity::gen_mock_idty( pubkey, created_block_id, ), diff --git a/lib/modules/blockchain/blockchain-dal/src/tools.rs b/lib/modules/blockchain/blockchain-dal/src/tools.rs index 14cfa3a4c314590c54de7ef3dd8560ab6dfe1618..c3e3286acb0608faed8222c6189bf8c7cd3cfecb 100644 --- a/lib/modules/blockchain/blockchain-dal/src/tools.rs +++ b/lib/modules/blockchain/blockchain-dal/src/tools.rs @@ -14,7 +14,7 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::entities::block::DALBlock; -use dubp_documents::documents::block::BlockDocumentTrait; +use dubp_block_doc::block::BlockDocumentTrait; use dup_crypto::keys::PubKey; use durs_common_tools::fatal_error; use durs_wot::operations::centrality::{CentralitiesCalculator, UlrikBrandesCentralityCalculator}; diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/block.rs b/lib/modules/blockchain/blockchain-dal/src/writers/block.rs index c2b9640c99326f5ffc1a725dd92c82f285609a14..3e8f991d19cd36e6aae504d00317611b553cdc09 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/block.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/block.rs @@ -16,8 +16,8 @@ use crate::entities::block::DALBlock; use crate::*; use crate::{BinDB, DALError, LocalBlockchainV10Datas}; +use dubp_block_doc::block::BlockDocumentTrait; use dubp_common_doc::traits::Document; -use dubp_documents::documents::block::BlockDocumentTrait; use unwrap::unwrap; /// Insert new head Block in databases diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/certification.rs b/lib/modules/blockchain/blockchain-dal/src/writers/certification.rs index 92a6790d4ecdba3ab2cbc340409f645f5ef17ee5..63cd60e48d6caa8600c82747d88fbcecc8575e10 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/certification.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/certification.rs @@ -16,7 +16,7 @@ use crate::{BinDB, CertsExpirV10Datas, DALError, IdentitiesV10Datas}; use dubp_common_doc::BlockNumber; use dubp_currency_params::CurrencyParameters; -use dubp_documents::documents::certification::CompactCertificationDocumentV10; +use dubp_user_docs::documents::certification::CompactCertificationDocumentV10; use dup_crypto::keys::*; use durs_wot::NodeId; diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/dividend.rs b/lib/modules/blockchain/blockchain-dal/src/writers/dividend.rs index 96c6b987e098b710c9d9e4dd34cb876c6cc56f60..cfeb9b1e2b6c01e8b5ccec946dd032aa91a32137 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/dividend.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/dividend.rs @@ -16,7 +16,7 @@ use crate::entities::sources::SourceAmount; use crate::*; use dubp_common_doc::BlockNumber; -use dubp_documents::documents::transaction::*; +use dubp_user_docs::documents::transaction::*; use dup_crypto::keys::PubKey; use std::collections::{HashMap, HashSet}; diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/fork_tree.rs b/lib/modules/blockchain/blockchain-dal/src/writers/fork_tree.rs index 7fc62d5d8fe34bea3204f16b65f09c7a6588f478..d95cf6c005de9381daeb82dbd29ba6b871e981c9 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/fork_tree.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/fork_tree.rs @@ -96,7 +96,7 @@ mod test { fn test_insert_new_head_block() -> Result<(), DALError> { // Create mock datas let blockstamps = - dubp_documents_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 2); + dubp_user_docs_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 2); let fork_tree_db = open_db::<ForksTreeV10Datas>(None, "")?; // Insert genesis block @@ -150,7 +150,7 @@ mod test { fn test_insert_new_fork_block() -> Result<(), DALError> { // Create mock datas let blockstamps = - dubp_documents_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 3); + dubp_user_docs_tests_tools::mocks::generate_blockstamps(*DEFAULT_FORK_WINDOW_SIZE + 3); let fork_tree_db = open_db::<ForksTreeV10Datas>(None, "")?; // Insert 4 main blocks diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs b/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs index bc3b5c1078bb497d60a47f437da165460ce194b7..b9ed989947e9f373dd04b0163ef101bb296a186d 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs @@ -18,7 +18,7 @@ use crate::{BinDB, DALError, IdentitiesV10Datas, MsExpirV10Datas}; use dubp_common_doc::traits::Document; use dubp_common_doc::{BlockNumber, Blockstamp}; use dubp_currency_params::CurrencyParameters; -use dubp_documents::documents::identity::IdentityDocumentV10; +use dubp_user_docs::documents::identity::IdentityDocumentV10; use dup_crypto::keys::PubKey; use durs_common_tools::fatal_error; use durs_wot::NodeId; diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/requests.rs b/lib/modules/blockchain/blockchain-dal/src/writers/requests.rs index ca6bf3d2f96c894f8cb1348c32f783c50ec7a8b8..7ece8baf5e3e16e099cd1d362bd0cdcfac57c53c 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/requests.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/requests.rs @@ -17,11 +17,11 @@ use crate::entities::block::DALBlock; use crate::entities::sources::SourceAmount; use crate::writers::transaction::DALTxV10; use crate::*; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; use dubp_common_doc::Blockstamp; use dubp_currency_params::CurrencyParameters; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; -use dubp_documents::documents::certification::CompactCertificationDocumentV10; -use dubp_documents::documents::identity::IdentityDocumentV10; +use dubp_user_docs::documents::certification::CompactCertificationDocumentV10; +use dubp_user_docs::documents::identity::IdentityDocumentV10; use dup_crypto::keys::PubKey; use durs_wot::NodeId; use std::ops::Deref; diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs b/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs index 12e5d1e0be0480390f772153ded5142ea78c540a..3800696e1b46cd65b3382f0bd32d3aa95f2a18f8 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs @@ -13,7 +13,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. -use dubp_documents::documents::transaction::*; +use dubp_user_docs::documents::transaction::*; use durs_common_tools::fatal_error; use crate::entities::sources::{SourceAmount, SourceIndexV10, UTXOIndexV10, UTXOV10}; diff --git a/lib/modules/blockchain/blockchain/Cargo.toml b/lib/modules/blockchain/blockchain/Cargo.toml index 4dd46f126c89bcad963be369073178d28f9bf4c2..24c25ab3ca3eaa07f2bf435a212afb7dd2d2924e 100644 --- a/lib/modules/blockchain/blockchain/Cargo.toml +++ b/lib/modules/blockchain/blockchain/Cargo.toml @@ -12,11 +12,12 @@ path = "src/lib.rs" [dependencies] dirs = "1.0.2" durs-conf = { path = "../../../core/conf" } +dubp-block-doc = { path = "../../../dubp/block-doc"} #, version = "0.1.0" } dubp-common-doc = { path = "../../../dubp/common-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../../dubp/currency-params" } durs-blockchain-dal = { path = "../blockchain-dal" } dup-crypto = { path = "../../../crypto" } -dubp-documents= { path = "../../../dubp/documents" } +dubp-user-docs= { path = "../../../dubp/user-docs" } durs-common-tools = { path = "../../../tools/common-tools" } durs-network-documents = { path = "../../../dunp/network-documents" } durs-message = { path = "../../../core/message" } @@ -36,4 +37,4 @@ unwrap = "1.2.1" [dev-dependencies] dup-crypto-tests-tools = { path = "../../../tests-tools/crypto-tests-tools" } -dubp-documents-tests-tools = { path = "../../../tests-tools/documents-tests-tools" } \ No newline at end of file +dubp-user-docs-tests-tools = { path = "../../../tests-tools/user-docs-tests-tools" } \ No newline at end of file diff --git a/lib/modules/blockchain/blockchain/src/dbex.rs b/lib/modules/blockchain/blockchain/src/dbex.rs index 24c8cc07a0a11b78d6f8fd56bd8e487444503d89..3d55dbb480e9a44e69bfa5f259bcd5faedded469 100644 --- a/lib/modules/blockchain/blockchain/src/dbex.rs +++ b/lib/modules/blockchain/blockchain/src/dbex.rs @@ -14,9 +14,9 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::*; +use dubp_block_doc::block::BlockDocumentTrait; use dubp_common_doc::BlockNumber; -use dubp_documents::documents::block::BlockDocumentTrait; -use dubp_documents::documents::transaction::*; +use dubp_user_docs::documents::transaction::*; use dup_crypto::keys::*; use durs_wot::data::rusty::RustyWebOfTrust; use durs_wot::data::WebOfTrust; diff --git a/lib/modules/blockchain/blockchain/src/dubp/apply/mod.rs b/lib/modules/blockchain/blockchain/src/dubp/apply/mod.rs index 797f03b20781baa49e5f6cb52ff9662b73127777..1ecda1f812ac0ded6050229a7a8a7ab2b190f716 100644 --- a/lib/modules/blockchain/blockchain/src/dubp/apply/mod.rs +++ b/lib/modules/blockchain/blockchain/src/dubp/apply/mod.rs @@ -15,10 +15,10 @@ //! Sub-module that applies the content of a block to the indexes of the local blockchain. +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait, BlockDocumentV10}; use dubp_common_doc::traits::Document; use dubp_common_doc::BlockNumber; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait, BlockDocumentV10}; -use dubp_documents::documents::transaction::{TxAmount, TxBase}; +use dubp_user_docs::documents::transaction::{TxAmount, TxBase}; use dup_crypto::keys::*; use durs_blockchain_dal::entities::block::DALBlock; use durs_blockchain_dal::entities::sources::SourceAmount; diff --git a/lib/modules/blockchain/blockchain/src/dubp/check/hashs.rs b/lib/modules/blockchain/blockchain/src/dubp/check/hashs.rs index d8b7a054da95b6207238f6e9c8c338d5d4f400ae..f6b4673031e8249ac3cb0ee1b77d6fe727c5a761 100644 --- a/lib/modules/blockchain/blockchain/src/dubp/check/hashs.rs +++ b/lib/modules/blockchain/blockchain/src/dubp/check/hashs.rs @@ -15,7 +15,7 @@ //! Verify block inner hash and block hash -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait, VerifyBlockHashError}; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait, VerifyBlockHashError}; /// Verify block hashs pub fn verify_block_hashs(block_doc: &BlockDocument) -> Result<(), VerifyBlockHashError> { diff --git a/lib/modules/blockchain/blockchain/src/dubp/check/mod.rs b/lib/modules/blockchain/blockchain/src/dubp/check/mod.rs index e93eb88292c89ea98d787ed61aed371edbf9c117..4ad8c2698152135cf03d980312cf0921a1ed1988 100644 --- a/lib/modules/blockchain/blockchain/src/dubp/check/mod.rs +++ b/lib/modules/blockchain/blockchain/src/dubp/check/mod.rs @@ -18,9 +18,9 @@ pub mod hashs; use crate::dubp::BlockError; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; use dubp_common_doc::traits::Document; use dubp_common_doc::BlockNumber; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; use dup_crypto::keys::PubKey; use durs_blockchain_dal::*; use durs_wot::*; diff --git a/lib/modules/blockchain/blockchain/src/dubp/mod.rs b/lib/modules/blockchain/blockchain/src/dubp/mod.rs index 974daff5125530a66b8ed27e856bb3f942b2cf07..5023e3f9425160a017438cf93e892e68b44220b3 100644 --- a/lib/modules/blockchain/blockchain/src/dubp/mod.rs +++ b/lib/modules/blockchain/blockchain/src/dubp/mod.rs @@ -21,9 +21,9 @@ pub mod check; use crate::*; use apply::*; use check::*; +use dubp_block_doc::block::{BlockDocumentTrait, VerifyBlockHashError}; use dubp_common_doc::traits::Document; use dubp_common_doc::{BlockNumber, Blockstamp}; -use dubp_documents::documents::block::{BlockDocumentTrait, VerifyBlockHashError}; use durs_blockchain_dal::entities::block::DALBlock; use durs_blockchain_dal::*; use unwrap::unwrap; diff --git a/lib/modules/blockchain/blockchain/src/dunp/receiver.rs b/lib/modules/blockchain/blockchain/src/dunp/receiver.rs index d304eb133828b116f4cc1cfb5316402c94534027..3fb479a61e0cf72f71b5a52ce602c3c8a99534c3 100644 --- a/lib/modules/blockchain/blockchain/src/dunp/receiver.rs +++ b/lib/modules/blockchain/blockchain/src/dunp/receiver.rs @@ -18,7 +18,7 @@ use crate::*; use dubp_common_doc::traits::Document; -use dubp_documents::documents::UserDocumentDUBP; +use dubp_user_docs::documents::UserDocumentDUBP; use unwrap::unwrap; pub fn receive_user_documents(_bc: &mut BlockchainModule, network_documents: &[UserDocumentDUBP]) { diff --git a/lib/modules/blockchain/blockchain/src/fork/fork_algo.rs b/lib/modules/blockchain/blockchain/src/fork/fork_algo.rs index 8a8db8e3033505aefaaf2a7f3824040027e833f3..b049c1a30f897d8ec46f7868aa373d3f970fb286 100644 --- a/lib/modules/blockchain/blockchain/src/fork/fork_algo.rs +++ b/lib/modules/blockchain/blockchain/src/fork/fork_algo.rs @@ -13,8 +13,8 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +use dubp_block_doc::block::BlockDocumentTrait; use dubp_common_doc::Blockstamp; -use dubp_documents::documents::block::BlockDocumentTrait; use durs_blockchain_dal::entities::fork_tree::ForkTree; use durs_blockchain_dal::{DALError, ForksDBs}; use std::collections::HashSet; @@ -100,8 +100,8 @@ mod tests { use super::*; use crate::*; + use dubp_block_doc::BlockDocument; use dubp_common_doc::{BlockHash, BlockNumber}; - use dubp_documents::documents::block::BlockDocument; use durs_blockchain_dal::entities::block::DALBlock; #[test] @@ -118,7 +118,7 @@ mod tests { // Generate `FORK_WINDOW_SIZE + 2` mock blocks let main_branch: Vec<BlockDocument> = - dubp_documents_tests_tools::mocks::gen_empty_timed_blocks_v10( + dubp_user_docs_tests_tools::mocks::gen_empty_timed_blocks_v10( fork_window_size + 2, 0u64, ); @@ -156,7 +156,7 @@ mod tests { let fork_blocks: Vec<BlockDocument> = (0..3) .map(|i| { BlockDocument::V10( - dubp_documents_tests_tools::mocks::gen_empty_timed_block_v10( + dubp_user_docs_tests_tools::mocks::gen_empty_timed_block_v10( Blockstamp { id: BlockNumber(fork_point.number().0 + i + 1), hash: BlockHash(dup_crypto_tests_tools::mocks::hash('A')), @@ -203,7 +203,7 @@ mod tests { &forks_dbs, DALBlock { block: BlockDocument::V10( - dubp_documents_tests_tools::mocks::gen_empty_timed_block_v10( + dubp_user_docs_tests_tools::mocks::gen_empty_timed_block_v10( determining_blockstamp, *ADVANCE_TIME, dup_crypto_tests_tools::mocks::hash('A'), @@ -235,7 +235,7 @@ mod tests { let new_main_blocks: Vec<BlockDocument> = (0..7) .map(|i| { BlockDocument::V10( - dubp_documents_tests_tools::mocks::gen_empty_timed_block_v10( + dubp_user_docs_tests_tools::mocks::gen_empty_timed_block_v10( Blockstamp { id: BlockNumber(fork_point.number().0 + i + 1), hash: BlockHash(dup_crypto_tests_tools::mocks::hash('B')), diff --git a/lib/modules/blockchain/blockchain/src/fork/revert_block.rs b/lib/modules/blockchain/blockchain/src/fork/revert_block.rs index 47924b69b8a74257d278272df0cadb4d8ed3cf5b..a7d08b00dded99d47715e09532ef0250fa5faad7 100644 --- a/lib/modules/blockchain/blockchain/src/fork/revert_block.rs +++ b/lib/modules/blockchain/blockchain/src/fork/revert_block.rs @@ -15,11 +15,11 @@ //! Sub-module that applies a block backwards. +use dubp_block_doc::block::v10::TxDocOrTxHash; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait, BlockDocumentV10}; use dubp_common_doc::traits::Document; use dubp_common_doc::{BlockNumber, Blockstamp}; -use dubp_documents::documents::block::v10::TxDocOrTxHash; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait, BlockDocumentV10}; -use dubp_documents::documents::transaction::{TxAmount, TxBase}; +use dubp_user_docs::documents::transaction::{TxAmount, TxBase}; use dup_crypto::keys::*; use durs_blockchain_dal::entities::block::DALBlock; use durs_blockchain_dal::entities::sources::SourceAmount; diff --git a/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs b/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs index 1628a28299c521e3746d84ae2d04eeded3b47d2d..8f0e348b73958efcbf33f909c77053292868ae34 100644 --- a/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs +++ b/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs @@ -16,8 +16,8 @@ //! Sub-module that finds and applies the orphaned blocks that have become stackable on the local blockchain. use crate::*; +use dubp_block_doc::block::BlockDocumentTrait; use dubp_common_doc::traits::Document; -use dubp_documents::documents::block::BlockDocumentTrait; use unwrap::unwrap; pub fn apply_stackable_blocks(bc: &mut BlockchainModule) { diff --git a/lib/modules/blockchain/blockchain/src/lib.rs b/lib/modules/blockchain/blockchain/src/lib.rs index ef8c080273016ea869c554d64c8d3672582f9473..b28b072ca102f02169bc9da889e42d3f7dda5ba7 100644 --- a/lib/modules/blockchain/blockchain/src/lib.rs +++ b/lib/modules/blockchain/blockchain/src/lib.rs @@ -54,10 +54,10 @@ pub use crate::dbex::{DBExQuery, DBExTxQuery, DBExWotQuery}; use crate::dubp::apply::ValidBlockApplyReqs; use crate::dubp::*; use crate::fork::*; +use dubp_block_doc::BlockDocument; use dubp_common_doc::traits::Document; use dubp_common_doc::Blockstamp; use dubp_currency_params::{CurrencyName, CurrencyParameters}; -use dubp_documents::documents::block::BlockDocument; use dup_crypto::keys::*; use durs_blockchain_dal::*; use durs_common_tools::fatal_error; diff --git a/lib/modules/blockchain/blockchain/src/requests/received.rs b/lib/modules/blockchain/blockchain/src/requests/received.rs index 350d320cc4486425e0c87bb3bcf1a13ecc3e275b..00fd40c0a4ffeb625026f96848297fad3b54dc01 100644 --- a/lib/modules/blockchain/blockchain/src/requests/received.rs +++ b/lib/modules/blockchain/blockchain/src/requests/received.rs @@ -16,7 +16,7 @@ //! Sub-module managing the inter-modules requests received. use crate::*; -use dubp_documents::documents::identity::IdentityDocument; +use dubp_user_docs::documents::identity::IdentityDocument; use durs_message::requests::*; use durs_module::*; diff --git a/lib/modules/blockchain/blockchain/src/sync/apply/mod.rs b/lib/modules/blockchain/blockchain/src/sync/apply/mod.rs index 8529764fd7b6c6961c332cfd5d553d7705311e9d..449301d3b0b2207dfda37c4179cc4f1c21335ba0 100644 --- a/lib/modules/blockchain/blockchain/src/sync/apply/mod.rs +++ b/lib/modules/blockchain/blockchain/src/sync/apply/mod.rs @@ -21,10 +21,10 @@ use crate::dubp; use crate::dubp::apply::apply_valid_block; use crate::dubp::apply::ValidBlockApplyReqs; use crate::sync::SyncJobsMess; +use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; use dubp_common_doc::traits::Document; use dubp_common_doc::{BlockNumber, Blockstamp}; use dubp_currency_params::{CurrencyName, CurrencyParameters}; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; use dup_crypto::keys::PubKey; use durs_blockchain_dal::writers::requests::WotsDBsWriteQuery; use durs_blockchain_dal::{BinDB, CertsExpirV10Datas, WotsV10DBs}; diff --git a/lib/modules/blockchain/blockchain/src/sync/download/json_reader_worker.rs b/lib/modules/blockchain/blockchain/src/sync/download/json_reader_worker.rs index e10df647dd1434ef7c88141faf5344c9c3981232..a54e6301c99a75f70e7eb5312ffb55fd09ced9f0 100644 --- a/lib/modules/blockchain/blockchain/src/sync/download/json_reader_worker.rs +++ b/lib/modules/blockchain/blockchain/src/sync/download/json_reader_worker.rs @@ -14,9 +14,9 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use crate::sync::*; +use dubp_block_doc::parser::parse_json_block; use dubp_common_doc::traits::Document; use dubp_common_doc::Blockstamp; -use dubp_documents::parsers::blocks::parse_json_block; use durs_common_tools::fatal_error; use failure::Error; use rayon::prelude::*; diff --git a/lib/modules/blockchain/blockchain/src/sync/mod.rs b/lib/modules/blockchain/blockchain/src/sync/mod.rs index 7fe6c503a680f7641d433bb61e3d21e3f337d941..69bb701338fa3c8d8a88401e0b980f99d764e949 100644 --- a/lib/modules/blockchain/blockchain/src/sync/mod.rs +++ b/lib/modules/blockchain/blockchain/src/sync/mod.rs @@ -18,10 +18,10 @@ mod download; use crate::*; use apply::BlockApplicator; +use dubp_block_doc::block::BlockDocumentTrait; use dubp_common_doc::Blockstamp; use dubp_common_doc::{BlockHash, BlockNumber}; use dubp_currency_params::{CurrencyName, CurrencyParameters}; -use dubp_documents::documents::block::BlockDocumentTrait; use dup_crypto::keys::*; use durs_blockchain_dal::writers::requests::*; use durs_blockchain_dal::{open_memory_db, CertsExpirV10Datas}; diff --git a/lib/modules/skeleton/Cargo.toml b/lib/modules/skeleton/Cargo.toml index f6757caf4656bcc3425bcc58b02f8498fe5135e6..386d29531d05c0a9b751b2bbb9becb3babbe871d 100644 --- a/lib/modules/skeleton/Cargo.toml +++ b/lib/modules/skeleton/Cargo.toml @@ -10,7 +10,7 @@ edition = "2018" path = "lib.rs" [dependencies] -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } durs-conf = { path = "../../core/conf" } durs-message = { path = "../../core/message" } durs-module = { path = "../../core/module" } diff --git a/lib/modules/tui/Cargo.toml b/lib/modules/tui/Cargo.toml index 8d23e982361f32d5323d2bf00644c786725466fa..6d5803fd2724847cbb46ea8207a88a365cae431d 100644 --- a/lib/modules/tui/Cargo.toml +++ b/lib/modules/tui/Cargo.toml @@ -13,7 +13,7 @@ path = "lib.rs" durs-conf = { path = "../../core/conf" } dup-crypto = { path = "../../crypto" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } durs-common-tools = { path = "../../tools/common-tools" } durs-message = { path = "../../core/message" } durs-module = { path = "../../core/module" } diff --git a/lib/modules/ws2p-v1-legacy/Cargo.toml b/lib/modules/ws2p-v1-legacy/Cargo.toml index e2d923dc1b29f799d2aff6d07e88596ffbd910ba..a1bf624321d680778278752e0325104c1510711f 100644 --- a/lib/modules/ws2p-v1-legacy/Cargo.toml +++ b/lib/modules/ws2p-v1-legacy/Cargo.toml @@ -12,9 +12,10 @@ path = "src/lib.rs" [dependencies] bincode = "1.0.1" byteorder = "1.2.3" +dubp-block-doc = { path = "../../dubp/block-doc"} #, version = "0.1.0" } dubp-common-doc = { path = "../../dubp/common-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents= { path = "../../dubp/documents" } +dubp-user-docs= { path = "../../dubp/user-docs" } dup-crypto = { path = "../../crypto" } durs-conf = { path = "../../core/conf" } durs-module = { path = "../../core/module" } diff --git a/lib/modules/ws2p-v1-legacy/src/events/sent.rs b/lib/modules/ws2p-v1-legacy/src/events/sent.rs index 6711e7ecb04387f8df40bf0b00b6b74fe5c4d7d5..2c9fe3ed2a2d9a717f29ab3c86596b12d0fce659 100644 --- a/lib/modules/ws2p-v1-legacy/src/events/sent.rs +++ b/lib/modules/ws2p-v1-legacy/src/events/sent.rs @@ -17,7 +17,7 @@ use crate::constants; use crate::WS2Pv1Module; -use dubp_documents::documents::UserDocumentDUBP; +use dubp_user_docs::documents::UserDocumentDUBP; use durs_message::events::DursEvent; use durs_message::*; use durs_module::{ModuleEvent, ModuleStaticName, RouterThreadMessage}; diff --git a/lib/modules/ws2p-v1-legacy/src/lib.rs b/lib/modules/ws2p-v1-legacy/src/lib.rs index 045561e4b83b2b386794c15bfc5095a9710c4bae..7163601564107a190f58e44b97fbb0c461bdbca0 100644 --- a/lib/modules/ws2p-v1-legacy/src/lib.rs +++ b/lib/modules/ws2p-v1-legacy/src/lib.rs @@ -58,10 +58,10 @@ use crate::ws_connections::messages::WS2Pv1Msg; use crate::ws_connections::requests::{WS2Pv1ReqBody, WS2Pv1ReqFullId, WS2Pv1ReqId, WS2Pv1Request}; use crate::ws_connections::states::WS2PConnectionState; use crate::ws_connections::*; +use dubp_block_doc::BlockDocument; use dubp_common_doc::Blockstamp; use dubp_currency_params::CurrencyName; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::UserDocumentDUBP; +use dubp_user_docs::documents::UserDocumentDUBP; use dup_crypto::keys::*; use durs_common_tools::fatal_error; use durs_common_tools::traits::merge::Merge; @@ -887,9 +887,9 @@ mod tests { use super::*; use crate::ws_connections::requests::sent::network_request_to_json; use crate::ws_connections::requests::*; + use dubp_block_doc::block::{BlockDocument, BlockDocumentTrait}; + use dubp_block_doc::parser::parse_json_block_from_serde_value; use dubp_common_doc::BlockNumber; - use dubp_documents::documents::block::{BlockDocument, BlockDocumentTrait}; - use dubp_documents::parsers::blocks::parse_json_block_from_serde_value; #[test] fn test_parse_json_block() { diff --git a/lib/modules/ws2p-v1-legacy/src/serializers/block.rs b/lib/modules/ws2p-v1-legacy/src/serializers/block.rs index 90f4ba8faf6e29be3820aa223045da1574480e1e..6c7b8358bf9f7f43e93c74757d2cb26f77b99fcc 100644 --- a/lib/modules/ws2p-v1-legacy/src/serializers/block.rs +++ b/lib/modules/ws2p-v1-legacy/src/serializers/block.rs @@ -16,7 +16,7 @@ //! Sub-module that serialize BlockDocument into WS2Pv1 json format use super::IntoWS2Pv1Json; -use dubp_documents::documents::block::{BlockDocumentStringified, BlockDocumentV10Stringified}; +use dubp_block_doc::block::{BlockDocumentStringified, BlockDocumentV10Stringified}; impl IntoWS2Pv1Json for BlockDocumentStringified { fn into_ws2p_v1_json(self) -> serde_json::Value { diff --git a/lib/modules/ws2p-v1-legacy/src/serializers/certification.rs b/lib/modules/ws2p-v1-legacy/src/serializers/certification.rs index 76f3d0a4deffe98be4ba0c144f1521274101b2ca..2c8d47a58dde433b3ef16513997b78d7367b2318 100644 --- a/lib/modules/ws2p-v1-legacy/src/serializers/certification.rs +++ b/lib/modules/ws2p-v1-legacy/src/serializers/certification.rs @@ -16,7 +16,7 @@ //! Sub-module that serialize CompactCertificationDocumentV10Stringified into WS2Pv1 json format use super::IntoWS2Pv1Json; -use dubp_documents::documents::certification::v10::CompactCertificationDocumentV10Stringified; +use dubp_user_docs::documents::certification::v10::CompactCertificationDocumentV10Stringified; impl IntoWS2Pv1Json for CompactCertificationDocumentV10Stringified { fn into_ws2p_v1_json(self) -> serde_json::Value { diff --git a/lib/modules/ws2p-v1-legacy/src/serializers/identity.rs b/lib/modules/ws2p-v1-legacy/src/serializers/identity.rs index 43b9da802bd3265cdb51f45c0beece1fc9cab516..3befda133fa6bd11457604c059df0dceb237a902 100644 --- a/lib/modules/ws2p-v1-legacy/src/serializers/identity.rs +++ b/lib/modules/ws2p-v1-legacy/src/serializers/identity.rs @@ -16,7 +16,7 @@ //! Sub-module that serialize IdentityDocumentV10Stringified into WS2Pv1 json format use super::IntoWS2Pv1Json; -use dubp_documents::documents::identity::IdentityDocumentV10Stringified; +use dubp_user_docs::documents::identity::IdentityDocumentV10Stringified; impl IntoWS2Pv1Json for IdentityDocumentV10Stringified { fn into_ws2p_v1_json(self) -> serde_json::Value { diff --git a/lib/modules/ws2p-v1-legacy/src/serializers/membership.rs b/lib/modules/ws2p-v1-legacy/src/serializers/membership.rs index 014e4008e24c240d6532463405172b27f977531f..b24c9dfecf3094c62d262051154442e8021644db 100644 --- a/lib/modules/ws2p-v1-legacy/src/serializers/membership.rs +++ b/lib/modules/ws2p-v1-legacy/src/serializers/membership.rs @@ -16,7 +16,7 @@ //! Sub-module that serialize MembershipDocumentV10Stringified into WS2Pv1 json format use super::IntoWS2Pv1Json; -use dubp_documents::documents::membership::MembershipDocumentV10Stringified; +use dubp_user_docs::documents::membership::MembershipDocumentV10Stringified; impl IntoWS2Pv1Json for MembershipDocumentV10Stringified { fn into_ws2p_v1_json(self) -> serde_json::Value { diff --git a/lib/modules/ws2p-v1-legacy/src/serializers/revoked.rs b/lib/modules/ws2p-v1-legacy/src/serializers/revoked.rs index 74f294fd22317335c9fb5c3d0cf9b41308e4b026..5b35e61cda6017978842720bcfe12ff50238929c 100644 --- a/lib/modules/ws2p-v1-legacy/src/serializers/revoked.rs +++ b/lib/modules/ws2p-v1-legacy/src/serializers/revoked.rs @@ -16,7 +16,7 @@ //! Sub-module that serialize CompactRevocationDocumentV10Stringified into WS2Pv1 json format use super::IntoWS2Pv1Json; -use dubp_documents::documents::revocation::CompactRevocationDocumentV10Stringified; +use dubp_user_docs::documents::revocation::CompactRevocationDocumentV10Stringified; impl IntoWS2Pv1Json for CompactRevocationDocumentV10Stringified { fn into_ws2p_v1_json(self) -> serde_json::Value { diff --git a/lib/modules/ws2p-v1-legacy/src/serializers/transaction.rs b/lib/modules/ws2p-v1-legacy/src/serializers/transaction.rs index 5663e57473e19cea04ec9171eadb544720f7381d..fce889544472c7a21661253d0cbd88996c46dbe2 100644 --- a/lib/modules/ws2p-v1-legacy/src/serializers/transaction.rs +++ b/lib/modules/ws2p-v1-legacy/src/serializers/transaction.rs @@ -16,7 +16,7 @@ //! Sub-module that serialize TransactionDocument into WS2Pv1 json format use super::IntoWS2Pv1Json; -use dubp_documents::documents::transaction::TransactionDocumentStringified; +use dubp_user_docs::documents::transaction::TransactionDocumentStringified; impl IntoWS2Pv1Json for TransactionDocumentStringified { fn into_ws2p_v1_json(self) -> serde_json::Value { diff --git a/lib/modules/ws2p-v1-legacy/src/ws_connections/messages.rs b/lib/modules/ws2p-v1-legacy/src/ws_connections/messages.rs index 00d6b811c9f48aa4b92c94ec6423d827d105a076..64167849b0530872411801471aa9df96d7323e30 100644 --- a/lib/modules/ws2p-v1-legacy/src/ws_connections/messages.rs +++ b/lib/modules/ws2p-v1-legacy/src/ws_connections/messages.rs @@ -17,7 +17,7 @@ use super::*; use crate::ws_connections::requests::WS2Pv1ReqBody; -use dubp_documents::documents::DocumentDUBP; +use dubp_block_doc::DocumentDUBP; use durs_network_documents::NodeFullId; use ws::Message; diff --git a/lib/modules/ws2p-v1-legacy/src/ws_connections/meta_datas.rs b/lib/modules/ws2p-v1-legacy/src/ws_connections/meta_datas.rs index bb6a692e4047cebb3831dbee09f9cce655758e2d..d88eca23087fdda5433cc655531d2d3cfef04ac1 100644 --- a/lib/modules/ws2p-v1-legacy/src/ws_connections/meta_datas.rs +++ b/lib/modules/ws2p-v1-legacy/src/ws_connections/meta_datas.rs @@ -19,8 +19,8 @@ use super::messages::WS2Pv1MsgPayload; use super::states::WS2PConnectionState; use crate::ws_connections::requests::{WS2Pv1ReqBody, WS2Pv1ReqId}; use crate::*; -use dubp_documents::documents::DocumentDUBP; -use dubp_documents::parsers::blocks::parse_json_block_from_serde_value; +use dubp_block_doc::parser::parse_json_block_from_serde_value; +use dubp_block_doc::DocumentDUBP; use dup_crypto::keys::*; use durs_network_documents::network_endpoint::{ApiName, EndpointV1}; use durs_network_documents::NodeId; diff --git a/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/mod.rs b/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/mod.rs index a44eea529ed332cc7bb9fc364f7400cf127625b9..a94443cc7d61aa6c739a01d83642285907907cf2 100644 --- a/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/mod.rs +++ b/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/mod.rs @@ -20,8 +20,8 @@ pub mod sent; use crate::serializers::IntoWS2Pv1Json; use crate::ws_connections::requests::WS2Pv1ReqId; +use dubp_block_doc::BlockDocument; use dubp_common_doc::traits::ToStringObject; -use dubp_documents::documents::block::BlockDocument; use dup_crypto::keys::PubKey; /// WS2Pv1 request response diff --git a/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/received.rs b/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/received.rs index 138d68477e5e902782d6ea92394cb40c09411f33..bb18e866b6c1e6f8d35e5feb92aef25370170d47 100644 --- a/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/received.rs +++ b/lib/modules/ws2p-v1-legacy/src/ws_connections/responses/received.rs @@ -16,7 +16,7 @@ //! Sub-module managing the WS2Pv1 responses received. use crate::*; -use dubp_documents::parsers::blocks::parse_json_block_from_serde_value; +use dubp_block_doc::parser::parse_json_block_from_serde_value; use durs_module::ModuleReqFullId; use durs_network::requests::*; use durs_network_documents::NodeFullId; diff --git a/lib/modules/ws2p/ws2p-messages/Cargo.toml b/lib/modules/ws2p/ws2p-messages/Cargo.toml index ea5a66f0352c52dd7c92079bf8397741aa796913..10c9ede850f2fd1a2efa72058c3b6eefe498ba13 100644 --- a/lib/modules/ws2p/ws2p-messages/Cargo.toml +++ b/lib/modules/ws2p/ws2p-messages/Cargo.toml @@ -13,8 +13,9 @@ path = "lib.rs" bincode = "1.0.*" byteorder = "1.2.3" dubp-common-doc = { path = "../../../dubp/common-doc"} #, version = "0.1.0" } +dubp-block-doc = { path = "../../../dubp/block-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../../dubp/currency-params" } -dubp-documents= { path = "../../../dubp/documents" } +dubp-user-docs= { path = "../../../dubp/user-docs" } durs-network-documents = { path = "../../../dunp/network-documents" } durs-common-tools = { path = "../../../tools/common-tools" } dup-crypto = { path = "../../../crypto" } diff --git a/lib/modules/ws2p/ws2p-messages/lib.rs b/lib/modules/ws2p/ws2p-messages/lib.rs index 97f90c584252e110e60cbe11f3231d3a2158593f..71f395bab7d40cbfa504eaebd458aae8d246fbed 100644 --- a/lib/modules/ws2p/ws2p-messages/lib.rs +++ b/lib/modules/ws2p/ws2p-messages/lib.rs @@ -160,11 +160,12 @@ impl<'de> BinSignable<'de> for WS2PMessage { mod tests { use crate::v2::payload_container::WS2Pv2MessagePayload; use crate::v2::WS2Pv2Message; + use crate::WS2PMessage; use bincode; use bincode::{deserialize, serialize}; use dubp_common_doc::{BlockNumber, Blockstamp}; use dubp_currency_params::CurrencyName; - use dubp_documents::documents::certification::*; + use dubp_user_docs::documents::certification::*; use dup_crypto::keys::bin_signable::BinSignable; use dup_crypto::keys::*; use durs_network_documents::network_endpoint::*; @@ -221,14 +222,14 @@ mod tests { pub fn test_ws2p_message(payload: WS2Pv2MessagePayload) { let keypair1 = keypair1(); - let mut ws2p_message = WS2Pv2Message { + let mut ws2p_message = WS2PMessage::V2(WS2Pv2Message { currency_name: CurrencyName(String::from("g1")), issuer_node_id: NodeId(0), issuer_pubkey: PubKey::Ed25519(keypair1.public_key()), payload, message_hash: None, signature: None, - }; + }); let sign_result = ws2p_message.sign(PrivKey::Ed25519(keypair1.private_key())); if let Ok(bin_msg) = sign_result { @@ -242,8 +243,7 @@ mod tests { .verify() .expect("WS2Pv2Message : Invalid signature !"); // Test debinarization - let debinarization_result: Result<WS2Pv2Message, bincode::Error> = - deserialize(&bin_msg); + let debinarization_result: Result<WS2PMessage, bincode::Error> = deserialize(&bin_msg); if let Ok(ws2p_message2) = debinarization_result { assert_eq!(ws2p_message, ws2p_message2); } else { diff --git a/lib/modules/ws2p/ws2p-messages/v2/payload_container.rs b/lib/modules/ws2p/ws2p-messages/v2/payload_container.rs index 42f19c9ab6fe35a18095de305c3d87e1c5b94101..3a31d06ae3a4acdb8f4282ab7beb4e9db65d6012 100644 --- a/lib/modules/ws2p/ws2p-messages/v2/payload_container.rs +++ b/lib/modules/ws2p/ws2p-messages/v2/payload_container.rs @@ -18,12 +18,12 @@ use super::ok::WS2Pv2OkMsg; use super::req_responses::WS2Pv2ReqRes; use super::requests::WS2Pv2Request; use super::secret_flags::WS2Pv2SecretFlagsMsg; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::certification::CertificationDocument; -use dubp_documents::documents::identity::IdentityDocument; -use dubp_documents::documents::membership::MembershipDocument; -use dubp_documents::documents::revocation::RevocationDocumentV10; -use dubp_documents::documents::transaction::TransactionDocument; +use dubp_block_doc::BlockDocument; +use dubp_user_docs::documents::certification::CertificationDocument; +use dubp_user_docs::documents::identity::IdentityDocument; +use dubp_user_docs::documents::membership::MembershipDocument; +use dubp_user_docs::documents::revocation::RevocationDocumentV10; +use dubp_user_docs::documents::transaction::TransactionDocument; use dup_crypto::hashs::Hash; use durs_network_documents::network_head_v2::NetworkHeadV2; use durs_network_documents::network_head_v3::NetworkHeadV3; diff --git a/lib/modules/ws2p/ws2p-messages/v2/req_responses.rs b/lib/modules/ws2p/ws2p-messages/v2/req_responses.rs index f734f8fc0ac74f082af1925ce03c839cde630276..3bdfd5753c198ed107a2c31af179cd29829d2ca8 100644 --- a/lib/modules/ws2p/ws2p-messages/v2/req_responses.rs +++ b/lib/modules/ws2p/ws2p-messages/v2/req_responses.rs @@ -13,11 +13,11 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +use dubp_block_doc::BlockDocument; use dubp_common_doc::blockstamp::Blockstamp; -use dubp_documents::documents::block::BlockDocument; -use dubp_documents::documents::certification::CompactCertificationDocumentV10; -use dubp_documents::documents::identity::v10::CompactIdentityDocumentV10; -use dubp_documents::documents::membership::v10::CompactPoolMembershipDoc; +use dubp_user_docs::documents::certification::CompactCertificationDocumentV10; +use dubp_user_docs::documents::identity::v10::CompactIdentityDocumentV10; +use dubp_user_docs::documents::membership::v10::CompactPoolMembershipDoc; use dup_crypto::hashs::Hash; use std::str; diff --git a/lib/modules/ws2p/ws2p-protocol/Cargo.toml b/lib/modules/ws2p/ws2p-protocol/Cargo.toml index 0c44f5fb7657af2305cc3f417b4a20b2ec501654..7a726293b9c84b813b70edc1b189ee30a2356444 100644 --- a/lib/modules/ws2p/ws2p-protocol/Cargo.toml +++ b/lib/modules/ws2p/ws2p-protocol/Cargo.toml @@ -12,7 +12,7 @@ path = "src/lib.rs" [dependencies] dubp-common-doc = { path = "../../../dubp/common-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../../dubp/currency-params" } -dubp-documents= { path = "../../../dubp/documents" } +dubp-user-docs= { path = "../../../dubp/user-docs" } durs-common-tools = { path = "../../../tools/common-tools" } dup-crypto = { path = "../../../crypto" } durs-module = { path = "../../../core/module" } diff --git a/lib/modules/ws2p/ws2p/Cargo.toml b/lib/modules/ws2p/ws2p/Cargo.toml index 00ac896841a888feef5c6ef372e996208dc21a20..81b770bbac2ea8b36aa2ae7e8443d76fbed8707a 100644 --- a/lib/modules/ws2p/ws2p/Cargo.toml +++ b/lib/modules/ws2p/ws2p/Cargo.toml @@ -13,7 +13,7 @@ path = "src/lib.rs" bincode = "1.0.*" dubp-common-doc = { path = "../../../dubp/common-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../../dubp/currency-params" } -dubp-documents= { path = "../../../dubp/documents" } +dubp-user-docs= { path = "../../../dubp/user-docs" } durs-network-documents = { path = "../../../dunp/network-documents" } durs-common-tools = { path = "../../../tools/common-tools" } dup-crypto = { path = "../../../crypto" } diff --git a/lib/tests-tools/documents-tests-tools/Cargo.toml b/lib/tests-tools/user-docs-tests-tools/Cargo.toml similarity index 70% rename from lib/tests-tools/documents-tests-tools/Cargo.toml rename to lib/tests-tools/user-docs-tests-tools/Cargo.toml index 3e4251bb7f163b6dcf75cf5eb84650986a1b2651..5906780fd37c1a1663874a7abbcb98ce41a64f90 100644 --- a/lib/tests-tools/documents-tests-tools/Cargo.toml +++ b/lib/tests-tools/user-docs-tests-tools/Cargo.toml @@ -1,8 +1,8 @@ [package] -name = "dubp-documents-tests-tools" +name = "dubp-user-docs-tests-tools" version = "0.1.0" authors = ["elois <elois@duniter.org>"] -description = "Crypto tests tools for projects use dubp-documents." +description = "Crypto tests tools for projects use dubp-user-docs." repository = "https://git.duniter.org/nodes/rust/duniter-rs" readme = "README.md" keywords = ["rust", "test", "tools"] @@ -13,9 +13,10 @@ edition = "2018" path = "src/lib.rs" [dependencies] +dubp-block-doc = { path = "../../dubp/block-doc"} #, version = "0.1.0" } dubp-common-doc = { path = "../../dubp/common-doc"} #, version = "0.1.0" } dubp-currency-params = { path = "../../dubp/currency-params" } -dubp-documents = { path = "../../dubp/documents" } +dubp-user-docs = { path = "../../dubp/user-docs" } dup-crypto = { path = "../../crypto" } dup-crypto-tests-tools = { path = "../crypto-tests-tools" } diff --git a/lib/tests-tools/documents-tests-tools/src/lib.rs b/lib/tests-tools/user-docs-tests-tools/src/lib.rs similarity index 94% rename from lib/tests-tools/documents-tests-tools/src/lib.rs rename to lib/tests-tools/user-docs-tests-tools/src/lib.rs index cd46bff0e7f0fde6919c12892ad75675ae81b518..ada0d47dbd0d067ec5d890d5e15b18fc8d7295df 100644 --- a/lib/tests-tools/documents-tests-tools/src/lib.rs +++ b/lib/tests-tools/user-docs-tests-tools/src/lib.rs @@ -13,7 +13,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. -//! Crypto tests tools for projects use dubp-documents. +//! Crypto tests tools for projects use dubp-user-docs. #![deny( missing_docs, diff --git a/lib/tests-tools/documents-tests-tools/src/mocks/identity.rs b/lib/tests-tools/user-docs-tests-tools/src/mocks/identity.rs similarity index 89% rename from lib/tests-tools/documents-tests-tools/src/mocks/identity.rs rename to lib/tests-tools/user-docs-tests-tools/src/mocks/identity.rs index cd3c19fe5711a5d1ca78d0c4e251a82de0c025b2..a424081e3f17bd4e6f687790298a514ad993adae 100644 --- a/lib/tests-tools/documents-tests-tools/src/mocks/identity.rs +++ b/lib/tests-tools/user-docs-tests-tools/src/mocks/identity.rs @@ -13,13 +13,13 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. -//! Mocks for projects use dubp-documents +//! Mocks for projects use dubp-user-docs use dubp_common_doc::blockstamp::Blockstamp; use dubp_common_doc::traits::DocumentBuilder; use dubp_common_doc::{BlockHash, BlockNumber}; -use dubp_documents::documents::identity::v10::IdentityDocumentV10Builder; -use dubp_documents::documents::identity::*; +use dubp_user_docs::documents::identity::v10::IdentityDocumentV10Builder; +use dubp_user_docs::documents::identity::*; use dup_crypto::hashs::Hash; use dup_crypto::keys::PubKey; diff --git a/lib/tests-tools/documents-tests-tools/src/mocks/mod.rs b/lib/tests-tools/user-docs-tests-tools/src/mocks/mod.rs similarity index 96% rename from lib/tests-tools/documents-tests-tools/src/mocks/mod.rs rename to lib/tests-tools/user-docs-tests-tools/src/mocks/mod.rs index ec6f19155b679bac08a44413f93527273bee5546..160cb73886dc8987439ce7b4ac9f75118ea12b82 100644 --- a/lib/tests-tools/documents-tests-tools/src/mocks/mod.rs +++ b/lib/tests-tools/user-docs-tests-tools/src/mocks/mod.rs @@ -13,14 +13,15 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. -//! Mocks for projects use dubp-documents +//! Mocks for projects use dubp-user-docs pub mod identity; +pub mod tx; +use dubp_block_doc::{BlockDocument, BlockDocumentV10}; use dubp_common_doc::blockstamp::Blockstamp; use dubp_common_doc::{BlockHash, BlockNumber}; use dubp_currency_params::CurrencyName; -use dubp_documents::documents::block::{BlockDocument, BlockDocumentV10}; use dup_crypto::hashs::Hash; /// Generate n mock blockstamps diff --git a/lib/tests-tools/user-docs-tests-tools/src/mocks/tx.rs b/lib/tests-tools/user-docs-tests-tools/src/mocks/tx.rs new file mode 100644 index 0000000000000000000000000000000000000000..5ed6cbcf637f899d10bafb63167d384fd3ac773f --- /dev/null +++ b/lib/tests-tools/user-docs-tests-tools/src/mocks/tx.rs @@ -0,0 +1,57 @@ +// Copyright (C) 2019 Éloïs SANCHEZ +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +//! Mocks for projects use dubp-user-docs + +use dubp_common_doc::traits::DocumentBuilder; +use dubp_common_doc::Blockstamp; +use dubp_user_docs::documents::transaction::*; +use dup_crypto::keys::*; +use std::str::FromStr; + +/// Generate first G1 transaction ! +pub fn first_g1_tx_doc() -> TransactionDocument { + let expected_tx_builder = TransactionDocumentBuilder { + currency: &"g1", + blockstamp: &Blockstamp::from_string( + "50-00001DAA4559FEDB8320D1040B0F22B631459F36F237A0D9BC1EB923C12A12E7", + ) + .expect("Fail to parse blockstamp"), + locktime: &0, + issuers: &vec![PubKey::Ed25519( + ed25519::PublicKey::from_base58("2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ") + .expect("Fail to parse issuer !"), + )], + inputs: &vec![TransactionInput::from_str( + "1000:0:D:2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ:1", + ) + .expect("Fail to parse inputs")], + unlocks: &vec![ + TransactionInputUnlocks::from_str("0:SIG(0)").expect("Fail to parse unlocks") + ], + outputs: &vec![ + TransactionOutput::from_str("1:0:SIG(Com8rJukCozHZyFao6AheSsfDQdPApxQRnz7QYFf64mm)") + .expect("Fail to parse outputs"), + TransactionOutput::from_str("999:0:SIG(2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ)") + .expect("Fail to parse outputs"), + ], + comment: "TEST", + hash: None, + }; + + expected_tx_builder.build_with_signature(vec![Sig::Ed25519( + ed25519::Signature::from_base64("fAH5Gor+8MtFzQZ++JaJO6U8JJ6+rkqKtPrRr/iufh3MYkoDGxmjzj6jCADQL+hkWBt8y8QzlgRkz0ixBcKHBw==").expect("Fail to parse sig !") + )]) +}