Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
  • librelois/duniter-rs
  • ji_emme/duniter-rs
  • vindarel/duniter-rs
  • Hiroty1er/duniter-rs
  • dvermd/duniter-rs
  • 666titi999/duniter-rs
6 results
Select Git revision
Loading items
Show changes
...@@ -123,9 +123,6 @@ mod tests { ...@@ -123,9 +123,6 @@ mod tests {
// Insert mock blocks in forks_dbs // Insert mock blocks in forks_dbs
db.write(|mut w| { db.write(|mut w| {
for block in &main_branch { for block in &main_branch {
durs_bc_db_writer::current_meta_datas::update_current_meta_datas(
&db, &mut w, &block,
)?;
durs_bc_db_writer::blocks::insert_new_head_block( durs_bc_db_writer::blocks::insert_new_head_block(
&db, &db,
&mut w, &mut w,
......
...@@ -19,7 +19,6 @@ use dubp_block_doc::BlockDocument; ...@@ -19,7 +19,6 @@ use dubp_block_doc::BlockDocument;
use durs_bc_db_reader::blocks::fork_tree::ForkTree; use durs_bc_db_reader::blocks::fork_tree::ForkTree;
use durs_bc_db_reader::blocks::DbBlock; use durs_bc_db_reader::blocks::DbBlock;
use durs_bc_db_writer::blocks::{insert_new_fork_block, insert_new_head_block}; use durs_bc_db_writer::blocks::{insert_new_fork_block, insert_new_head_block};
use durs_bc_db_writer::current_meta_datas::update_current_meta_datas;
use durs_bc_db_writer::{Db, DbError}; use durs_bc_db_writer::{Db, DbError};
/// Warning : This function does not update the indexes and considers /// Warning : This function does not update the indexes and considers
...@@ -32,7 +31,6 @@ pub fn insert_main_block( ...@@ -32,7 +31,6 @@ pub fn insert_main_block(
fork_tree: Option<&mut ForkTree>, fork_tree: Option<&mut ForkTree>,
) -> Result<(), DbError> { ) -> Result<(), DbError> {
db_tmp.write(|mut w| { db_tmp.write(|mut w| {
update_current_meta_datas(db_tmp, &mut w, &block)?;
insert_new_head_block( insert_new_head_block(
&db_tmp, &db_tmp,
&mut w, &mut w,
......
...@@ -20,6 +20,7 @@ use dubp_common_doc::blockstamp::Blockstamp; ...@@ -20,6 +20,7 @@ use dubp_common_doc::blockstamp::Blockstamp;
use dubp_common_doc::{BlockHash, BlockNumber}; use dubp_common_doc::{BlockHash, BlockNumber};
use dubp_currency_params::CurrencyName; use dubp_currency_params::CurrencyName;
use dup_crypto::hashs::Hash; use dup_crypto::hashs::Hash;
use dup_crypto::keys::PubKey;
/// Generate n mock blockstamps /// Generate n mock blockstamps
pub fn generate_blockstamps(n: usize) -> Vec<Blockstamp> { pub fn generate_blockstamps(n: usize) -> Vec<Blockstamp> {
...@@ -55,6 +56,18 @@ pub fn gen_empty_timed_blocks_v10(n: usize, time_step: u64) -> Vec<BlockDocument ...@@ -55,6 +56,18 @@ pub fn gen_empty_timed_blocks_v10(n: usize, time_step: u64) -> Vec<BlockDocument
.collect() .collect()
} }
/// Generate empty block v10 with issuer and pow_min
pub fn gen_empty_block_v10_with_issuer_and_pow_min(
block_number: BlockNumber,
issuer: PubKey,
pow_min: usize,
) -> BlockDocumentV10 {
let mut block = empty_block_v10(block_number);
block.issuers = vec![issuer];
block.pow_min = pow_min;
block
}
/// Generate empty timed block document /// Generate empty timed block document
/// (usefull for tests that only need blockstamp and median_time fields) /// (usefull for tests that only need blockstamp and median_time fields)
pub fn gen_empty_timed_block_v10( pub fn gen_empty_timed_block_v10(
...@@ -62,13 +75,21 @@ pub fn gen_empty_timed_block_v10( ...@@ -62,13 +75,21 @@ pub fn gen_empty_timed_block_v10(
time: u64, time: u64,
previous_hash: Hash, previous_hash: Hash,
) -> BlockDocumentV10 { ) -> BlockDocumentV10 {
let mut block = empty_block_v10(blockstamp.id);
block.median_time = time;
block.hash = Some(blockstamp.hash);
block.previous_hash = Some(previous_hash);
block
}
fn empty_block_v10(block_number: BlockNumber) -> BlockDocumentV10 {
BlockDocumentV10 { BlockDocumentV10 {
version: 10, version: 10,
nonce: 0, nonce: 0,
number: blockstamp.id, number: block_number,
pow_min: 0, pow_min: 0,
time: 0, time: 0,
median_time: time, median_time: 0,
members_count: 0, members_count: 0,
monetary_mass: 0, monetary_mass: 0,
unit_base: 0, unit_base: 0,
...@@ -78,9 +99,9 @@ pub fn gen_empty_timed_block_v10( ...@@ -78,9 +99,9 @@ pub fn gen_empty_timed_block_v10(
currency: CurrencyName("test_currency".to_owned()), currency: CurrencyName("test_currency".to_owned()),
issuers: vec![], issuers: vec![],
signatures: vec![], signatures: vec![],
hash: Some(blockstamp.hash), hash: Some(BlockHash(Hash::default())),
parameters: None, parameters: None,
previous_hash: Some(previous_hash), previous_hash: None,
previous_issuer: None, previous_issuer: None,
dividend: None, dividend: None,
identities: vec![], identities: vec![],
......
...@@ -43,3 +43,18 @@ pub fn pubkey(character: char) -> PubKey { ...@@ -43,3 +43,18 @@ pub fn pubkey(character: char) -> PubKey {
ed25519::PublicKey::from_base58(&str_pub).expect("Fail to create mock pubkey !"), ed25519::PublicKey::from_base58(&str_pub).expect("Fail to create mock pubkey !"),
) )
} }
/// Generate mock pubkey from one byte
pub fn pubkey_from_byte(byte: u8) -> PubKey {
let mut bytes = [0u8; 32];
for b in &mut bytes {
*b = byte
}
PubKey::Ed25519(ed25519::PublicKey(bytes))
}
/// Generate n mock pubkeys
pub fn generate_pubkeys(n: usize) -> Vec<PubKey> {
(0..n).map(|i| pubkey_from_byte((i % 255) as u8)).collect()
}