From b7d258ebe900b2c95cc4f9acb3c736fda7428c40 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Fri, 16 Aug 2019 20:20:20 +0200
Subject: [PATCH] [ref]whole: split crate documents in 2 new crates: block-doc
& user-docs
---
.gitlab-ci.yml | 2 +-
Cargo.lock | 66 +++++++++++-----
Cargo.toml | 5 +-
.../installer-son-environnement-de-dev.md | 6 +-
doc/fr/developpeurs/tests-auto.md | 6 +-
lib/core/conf/Cargo.toml | 2 +-
lib/core/message/Cargo.toml | 3 +-
lib/core/message/src/events.rs | 4 +-
lib/core/message/src/responses.rs | 10 +--
lib/core/module/Cargo.toml | 2 +-
lib/core/network/Cargo.toml | 3 +-
lib/core/network/events.rs | 4 +-
lib/core/network/requests.rs | 4 +-
lib/dubp/block-doc/Cargo.toml | 35 +++++++++
lib/dubp/block-doc/README.md | 9 +++
.../src/documents => block-doc/src}/block.rs | 0
.../documents => block-doc/src}/block/v10.rs | 25 +++---
lib/dubp/block-doc/src/lib.rs | 77 +++++++++++++++++++
.../blocks.rs => block-doc/src/parser.rs} | 29 ++++---
lib/dubp/{documents => user-docs}/Cargo.toml | 3 +-
lib/dubp/{documents => user-docs}/README.md | 0
.../src/documents/certification.rs | 0
.../src/documents/certification/v10.rs | 0
.../src/documents/identity.rs | 0
.../src/documents/identity/v10.rs | 0
.../src/documents/membership.rs | 0
.../src/documents/membership/v10.rs | 0
.../src/documents/mod.rs | 35 ---------
.../src/documents/revocation.rs | 0
.../src/documents/revocation/v10.rs | 0
.../src/documents/transaction.rs | 0
lib/dubp/{documents => user-docs}/src/lib.rs | 0
.../src/parsers/certifications.rs | 0
.../src/parsers/identities.rs | 0
.../src/parsers/memberships.rs | 0
.../src/parsers/mod.rs | 59 ++------------
.../src/parsers/revoked.rs | 0
.../src/parsers/transactions.rs | 45 ++++++++++-
lib/dunp/network-documents/Cargo.toml | 2 +-
.../blockchain/blockchain-dal/Cargo.toml | 5 +-
.../blockchain-dal/src/entities/block.rs | 2 +-
.../blockchain-dal/src/entities/fork_tree.rs | 6 +-
.../blockchain-dal/src/entities/identity.rs | 2 +-
.../blockchain-dal/src/entities/sources.rs | 2 +-
.../blockchain/blockchain-dal/src/lib.rs | 2 +-
.../blockchain-dal/src/readers/block.rs | 2 +-
.../src/readers/currency_params.rs | 2 +-
.../blockchain-dal/src/readers/identity.rs | 2 +-
.../blockchain/blockchain-dal/src/tools.rs | 2 +-
.../blockchain-dal/src/writers/block.rs | 2 +-
.../src/writers/certification.rs | 2 +-
.../blockchain-dal/src/writers/dividend.rs | 2 +-
.../blockchain-dal/src/writers/fork_tree.rs | 4 +-
.../blockchain-dal/src/writers/identity.rs | 2 +-
.../blockchain-dal/src/writers/requests.rs | 6 +-
.../blockchain-dal/src/writers/transaction.rs | 2 +-
lib/modules/blockchain/blockchain/Cargo.toml | 5 +-
lib/modules/blockchain/blockchain/src/dbex.rs | 4 +-
.../blockchain/src/dubp/apply/mod.rs | 4 +-
.../blockchain/src/dubp/check/hashs.rs | 2 +-
.../blockchain/src/dubp/check/mod.rs | 2 +-
.../blockchain/blockchain/src/dubp/mod.rs | 2 +-
.../blockchain/src/dunp/receiver.rs | 2 +-
.../blockchain/src/fork/fork_algo.rs | 12 +--
.../blockchain/src/fork/revert_block.rs | 6 +-
.../blockchain/src/fork/stackable_blocks.rs | 2 +-
lib/modules/blockchain/blockchain/src/lib.rs | 2 +-
.../blockchain/src/requests/received.rs | 2 +-
.../blockchain/src/sync/apply/mod.rs | 2 +-
.../src/sync/download/json_reader_worker.rs | 2 +-
.../blockchain/blockchain/src/sync/mod.rs | 2 +-
lib/modules/skeleton/Cargo.toml | 2 +-
lib/modules/tui/Cargo.toml | 2 +-
lib/modules/ws2p-v1-legacy/Cargo.toml | 3 +-
lib/modules/ws2p-v1-legacy/src/events/sent.rs | 2 +-
lib/modules/ws2p-v1-legacy/src/lib.rs | 8 +-
.../ws2p-v1-legacy/src/serializers/block.rs | 2 +-
.../src/serializers/certification.rs | 2 +-
.../src/serializers/identity.rs | 2 +-
.../src/serializers/membership.rs | 2 +-
.../ws2p-v1-legacy/src/serializers/revoked.rs | 2 +-
.../src/serializers/transaction.rs | 2 +-
.../src/ws_connections/messages.rs | 2 +-
.../src/ws_connections/meta_datas.rs | 4 +-
.../src/ws_connections/responses/mod.rs | 2 +-
.../src/ws_connections/responses/received.rs | 2 +-
lib/modules/ws2p/ws2p-messages/Cargo.toml | 3 +-
lib/modules/ws2p/ws2p-messages/lib.rs | 10 +--
.../ws2p-messages/v2/payload_container.rs | 12 +--
.../ws2p/ws2p-messages/v2/req_responses.rs | 8 +-
lib/modules/ws2p/ws2p-protocol/Cargo.toml | 2 +-
lib/modules/ws2p/ws2p/Cargo.toml | 2 +-
.../Cargo.toml | 7 +-
.../src/lib.rs | 2 +-
.../src/mocks/identity.rs | 6 +-
.../src/mocks/mod.rs | 5 +-
.../user-docs-tests-tools/src/mocks/tx.rs | 57 ++++++++++++++
97 files changed, 433 insertions(+), 254 deletions(-)
create mode 100644 lib/dubp/block-doc/Cargo.toml
create mode 100644 lib/dubp/block-doc/README.md
rename lib/dubp/{documents/src/documents => block-doc/src}/block.rs (100%)
rename lib/dubp/{documents/src/documents => block-doc/src}/block/v10.rs (97%)
create mode 100644 lib/dubp/block-doc/src/lib.rs
rename lib/dubp/{documents/src/parsers/blocks.rs => block-doc/src/parser.rs} (94%)
rename lib/dubp/{documents => user-docs}/Cargo.toml (90%)
rename lib/dubp/{documents => user-docs}/README.md (100%)
rename lib/dubp/{documents => user-docs}/src/documents/certification.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/certification/v10.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/identity.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/identity/v10.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/membership.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/membership/v10.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/mod.rs (92%)
rename lib/dubp/{documents => user-docs}/src/documents/revocation.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/revocation/v10.rs (100%)
rename lib/dubp/{documents => user-docs}/src/documents/transaction.rs (100%)
rename lib/dubp/{documents => user-docs}/src/lib.rs (100%)
rename lib/dubp/{documents => user-docs}/src/parsers/certifications.rs (100%)
rename lib/dubp/{documents => user-docs}/src/parsers/identities.rs (100%)
rename lib/dubp/{documents => user-docs}/src/parsers/memberships.rs (100%)
rename lib/dubp/{documents => user-docs}/src/parsers/mod.rs (57%)
rename lib/dubp/{documents => user-docs}/src/parsers/revoked.rs (100%)
rename lib/dubp/{documents => user-docs}/src/parsers/transactions.rs (70%)
rename lib/tests-tools/{documents-tests-tools => user-docs-tests-tools}/Cargo.toml (70%)
rename lib/tests-tools/{documents-tests-tools => user-docs-tests-tools}/src/lib.rs (94%)
rename lib/tests-tools/{documents-tests-tools => user-docs-tests-tools}/src/mocks/identity.rs (89%)
rename lib/tests-tools/{documents-tests-tools => user-docs-tests-tools}/src/mocks/mod.rs (96%)
create mode 100644 lib/tests-tools/user-docs-tests-tools/src/mocks/tx.rs
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5f19148e..3f42afa5 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 13417b4f..062d4974 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 47f6588f..3e9fa916 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 c64f275c..845d98b9 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 c5f8b86a..50389ac9 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 d0517034..b9c4b435 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 b97bf7af..4c353a56 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 c89ac18f..88385edf 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 e04778d6..ee7dfbde 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 dba78f84..53f63f03 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 448287c6..534087f2 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 954ed019..12df5249 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 0dad6800..ac7b1c87 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 00000000..750f9a39
--- /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 00000000..5e2e488c
--- /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 73832fce..43b343ac 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 00000000..d668761d
--- /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 c7d7f168..83855d97 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 2742315f..bfee1943 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 16d48f81..ac5cb1a2 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 c9b80fb0..5cadf3d8 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 ba282dd6..7d6f5e71 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 1c272107..06a488ba 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 f6d40bde..7af736a1 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 059260fe..e93bdd72 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 69abeffe..7c27bfea 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 6bc7d8f6..ab1e1e43 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 defd3a43..0e059ecc 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 5057cf08..d2f4c9b1 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 670467af..034b15e7 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 bf047f0d..70aa7f53 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 04db9db5..78539356 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 14cfa3a4..c3e3286a 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 c2b9640c..3e8f991d 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 92a6790d..63cd60e4 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 96c6b987..cfeb9b1e 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 7fc62d5d..d95cf6c0 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 bc3b5c10..b9ed9899 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 ca6bf3d2..7ece8baf 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 12e5d1e0..3800696e 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 4dd46f12..24c25ab3 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 24c8cc07..3d55dbb4 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 797f03b2..1ecda1f8 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 d8b7a054..f6b46730 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 e93eb882..4ad8c269 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 974daff5..5023e3f9 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 d304eb13..3fb479a6 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 8a8db8e3..b049c1a3 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 47924b69..a7d08b00 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 1628a282..8f0e348b 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 ef8c0802..b28b072c 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 350d320c..00fd40c0 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 8529764f..449301d3 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 e10df647..a54e6301 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 7fe6c503..69bb7013 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 f6757caf..386d2953 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 8d23e982..6d5803fd 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 e2d923dc..a1bf6243 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 6711e7ec..2c9fe3ed 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 045561e4..71636015 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 90f4ba8f..6c7b8358 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 76f3d0a4..2c8d47a5 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 43b9da80..3befda13 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 014e4008..b24c9dfe 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 74f294fd..5b35e61c 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 5663e574..fce88954 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 00d6b811..64167849 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 bb6a692e..d88eca23 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 a44eea52..a94443cc 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 138d6847..bb18e866 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 ea5a66f0..10c9ede8 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 97f90c58..71f395ba 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 42f19c9a..3a31d06a 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 f734f8fc..3bdfd575 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 0c44f5fb..7a726293 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 00ac8968..81b770bb 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 3e4251bb..5906780f 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 cd46bff0..ada0d47d 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 cd3c19fe..a424081e 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 ec6f1915..160cb738 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 00000000..5ed6cbcf
--- /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 !")
+ )])
+}
--
GitLab