From 43d3cd9ad81927ca0fc5133982ade20d3d08dd8a Mon Sep 17 00:00:00 2001 From: Jonas SPRENGER <sprengerjo@gmail.com> Date: Sat, 4 May 2019 13:12:09 +0200 Subject: [PATCH] [feat] blockchain-dal: replace panic! by fatal_error! --- .../blockchain-dal/src/entities/sources.rs | 9 +++++---- lib/modules/blockchain/blockchain-dal/src/lib.rs | 3 ++- .../blockchain/blockchain-dal/src/readers/block.rs | 2 +- .../blockchain-dal/src/readers/currency_params.rs | 2 +- lib/modules/blockchain/blockchain-dal/src/tools.rs | 7 ++++--- .../blockchain-dal/src/writers/identity.rs | 13 +++++++------ .../blockchain-dal/src/writers/transaction.rs | 9 +++++---- 7 files changed, 25 insertions(+), 20 deletions(-) diff --git a/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs b/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs index 25821a57..503732a3 100644 --- a/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs +++ b/lib/modules/blockchain/blockchain-dal/src/entities/sources.rs @@ -17,6 +17,7 @@ use dubp_documents::documents::transaction::*; use dubp_documents::BlockNumber; use dup_crypto::hashs::Hash; use dup_crypto::keys::PubKey; +use durs_common_tools::fatal_error; use std::cmp::Ordering; use std::ops::{Add, Sub}; @@ -46,7 +47,7 @@ impl Add for SourceAmount { if self.1 == s2.1 { SourceAmount(self.0 + s2.0, self.1) } else { - panic!("Source change base not yet supported !") + fatal_error!("Source change base not yet supported !") } } } @@ -57,7 +58,7 @@ impl Sub for SourceAmount { if self.1 == s2.1 { SourceAmount(self.0 - s2.0, self.1) } else { - panic!("Source change base not yet supported !") + fatal_error!("Source change base not yet supported !") } } } @@ -98,14 +99,14 @@ impl UTXO { pub fn get_conditions(&self) -> UTXOConditionsGroup { match *self { UTXO::V10(ref utxo_v10) => utxo_v10.get_conditions(), - _ => panic!("UTXO version not supported !"), + _ => fatal_error!("UTXO version not supported !"), } } /// UTXO amount pub fn get_amount(&self) -> SourceAmount { match *self { UTXO::V10(ref utxo_v10) => utxo_v10.get_amount(), - _ => panic!("UTXO version not supported !"), + _ => fatal_error!("UTXO version not supported !"), } } } diff --git a/lib/modules/blockchain/blockchain-dal/src/lib.rs b/lib/modules/blockchain/blockchain-dal/src/lib.rs index c38106e8..8a988e64 100644 --- a/lib/modules/blockchain/blockchain-dal/src/lib.rs +++ b/lib/modules/blockchain/blockchain-dal/src/lib.rs @@ -57,6 +57,7 @@ use dubp_documents::CurrencyName; use dubp_documents::{BlockHash, BlockNumber, Blockstamp, PreviousBlockstamp}; use dup_crypto::hashs::Hash; use dup_crypto::keys::*; +use durs_common_tools::fatal_error; use durs_wot::data::{rusty::RustyWebOfTrust, NodeId}; use fnv::FnvHashMap; use rustbreak::backend::{FileBackend, MemoryBackend}; @@ -289,7 +290,7 @@ impl CurrencyV10DBs { CurrencyV10DBs { du_db: open_db::<UDsV10Datas>(db_path, "du.db").expect("Fail to open UDsV10DB"), tx_db: open_db::<TxV10Datas>(db_path, "tx.db") - .unwrap_or_else(|_| panic!("Fail to open TxV10DB")), + .unwrap_or_else(|_| fatal_error!("Fail to open TxV10DB")), utxos_db: open_db::<UTXOsV10Datas>(db_path, "sources.db") .expect("Fail to open UTXOsV10DB"), balances_db: open_db::<BalancesV10Datas>(db_path, "balances.db") diff --git a/lib/modules/blockchain/blockchain-dal/src/readers/block.rs b/lib/modules/blockchain/blockchain-dal/src/readers/block.rs index 7dd0a84c..c7553842 100644 --- a/lib/modules/blockchain/blockchain-dal/src/readers/block.rs +++ b/lib/modules/blockchain/blockchain-dal/src/readers/block.rs @@ -132,7 +132,7 @@ pub fn get_current_frame( for block_number in frame_begin..current_block.block.number.0 { let issuer = db .get(&BlockNumber(block_number)) - .unwrap_or_else(|| panic!("Fail to get block #{} !", block_number)) + .unwrap_or_else(|| fatal_error!("Fail to get block #{} !", block_number)) .block .issuers()[0]; let issuer_count_blocks = if let Some(issuer_count_blocks) = current_frame.get(&issuer) 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 be269d0d..59800aed 100644 --- a/lib/modules/blockchain/blockchain-dal/src/readers/currency_params.rs +++ b/lib/modules/blockchain/blockchain-dal/src/readers/currency_params.rs @@ -28,7 +28,7 @@ pub fn get_currency_params( genesis_block.block.parameters.expect("safe unwrap"), ))) } else { - panic!("The genesis block are None parameters !"); + fatal_error!("The genesis block are None parameters !"); } } else { None diff --git a/lib/modules/blockchain/blockchain-dal/src/tools.rs b/lib/modules/blockchain/blockchain-dal/src/tools.rs index f06c2f99..7554cdd8 100644 --- a/lib/modules/blockchain/blockchain-dal/src/tools.rs +++ b/lib/modules/blockchain/blockchain-dal/src/tools.rs @@ -15,6 +15,7 @@ use crate::entities::block::DALBlock; use dup_crypto::keys::PubKey; +use durs_common_tools::fatal_error; use durs_wot::operations::centrality::{CentralitiesCalculator, UlrikBrandesCentralityCalculator}; use durs_wot::operations::distance::{ DistanceCalculator, RustyDistanceCalculator, WotDistance, WotDistanceParameters, @@ -68,12 +69,12 @@ pub fn get_sentry_requirement(members_count: usize, step_max: u32) -> u32 { } else if members_count < 1_889_569 { 18 } else { - panic!( + fatal_error!( "get_sentry_requirement not define for members_count greater than 1_889_569 !" ); } } - _ => panic!("get_sentry_requirement not define for step_max != 5 !"), + _ => fatal_error!("get_sentry_requirement not define for step_max != 5 !"), } } @@ -85,7 +86,7 @@ pub fn calculate_average_density<T: WebOfTrust>(wot: &T) -> usize { for member in &enabled_members { count_actives_links += wot .issued_count(*member) - .unwrap_or_else(|| panic!("Fail to get issued_count of wot_id {}", (*member).0)); + .unwrap_or_else(|| fatal_error!("Fail to get issued_count of wot_id {}", (*member).0)); } ((count_actives_links as f32 / enabled_members_count as f32) * 1_000.0) as usize } diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs b/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs index 713a779e..4be0b0b0 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/identity.rs @@ -20,6 +20,7 @@ use dubp_documents::documents::identity::IdentityDocument; use dubp_documents::Document; use dubp_documents::{BlockNumber, Blockstamp}; use dup_crypto::keys::PubKey; +use durs_common_tools::fatal_error; use durs_wot::NodeId; /// Remove identity from databases @@ -102,14 +103,14 @@ pub fn exclude_identity( DALIdentityState::ExpireMember(renewed_counts) => { DALIdentityState::Member(renewed_counts) } - _ => panic!("Try to revert exclusion for a no excluded identity !"), + _ => fatal_error!("Try to revert exclusion for a no excluded identity !"), } } else { match idty_datas.state { DALIdentityState::Member(renewed_counts) => { DALIdentityState::ExpireMember(renewed_counts) } - _ => panic!("Try to exclude for an already excluded/revoked identity !"), + _ => fatal_error!("Try to exclude for an already excluded/revoked identity !"), } }; idty_datas.expired_on = if revert { @@ -145,7 +146,7 @@ pub fn revoke_identity( | DALIdentityState::ImplicitRevoked(renewed_counts) => { DALIdentityState::ExpireMember(renewed_counts) } - _ => panic!("Try to revert revoke_identity() for a no revoked idty !"), + _ => fatal_error!("Try to revert revoke_identity() for a no revoked idty !"), } } else { match member_datas.state { @@ -159,7 +160,7 @@ pub fn revoke_identity( DALIdentityState::ImplicitRevoked(renewed_counts) } } - _ => panic!("Try to revert revoke an already revoked idty !"), + _ => fatal_error!("Try to revert revoke an already revoked idty !"), } }; member_datas.revoked_on = if revert { @@ -201,7 +202,7 @@ pub fn renewal_identity( DALIdentityState::ExpireMember(new_renewed_counts) } } - _ => panic!("Try to revert renewal_identity() for an excluded or revoked idty !"), + _ => fatal_error!("Try to revert renewal_identity() for an excluded or revoked idty !"), } } else { match idty_datas.state { @@ -215,7 +216,7 @@ pub fn renewal_identity( new_renewed_counts.push(0); DALIdentityState::Member(new_renewed_counts) } - _ => panic!("Try to renewed a revoked identity !"), + _ => fatal_error!("Try to renewed a revoked identity !"), } }; // Calculate new ms_chainable_on value diff --git a/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs b/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs index 9991188c..5a39904f 100644 --- a/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs +++ b/lib/modules/blockchain/blockchain-dal/src/writers/transaction.rs @@ -14,6 +14,7 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. use dubp_documents::documents::transaction::*; +use durs_common_tools::fatal_error; use crate::entities::sources::{SourceAmount, SourceIndexV10, UTXOIndexV10, UTXOV10}; use crate::*; @@ -75,12 +76,12 @@ pub fn revert_tx(dbs: &CurrencyV10DBs, dal_tx: &DALTxV10) -> Result<(), DALError new_sources_index.remove(&source.0); (*balance, new_sources_index) } else { - panic!("Fail to revert tx : an output conditions don't exist in BalancesDB.") + fatal_error!("Fail to revert tx : an output conditions don't exist in BalancesDB.") }; let new_balance = if balance >= source_amount { balance - source_amount } else { - panic!("Fail to revert tx : an output revert cause negative balance.") + fatal_error!("Fail to revert tx : an output revert cause negative balance.") }; new_balances_consumed_adress.insert(conditions, (new_balance, new_sources_index)); } @@ -270,7 +271,7 @@ pub fn apply_and_write_tx( // Get utxo let utxo = db.get(&utxo_index).unwrap_or_else(|| { debug!("apply_tx=\"{:#?}\"", tx_doc); - panic!( + fatal_error!( "ApplyBLockError : unknow UTXO in inputs : {:?} !", utxo_index ) @@ -312,7 +313,7 @@ pub fn apply_and_write_tx( new_balances_consumed_adress .push((conditions.clone(), (new_balance, new_sources_index))); } else { - panic!("Apply Tx : try to consume a source, but the owner address is not found in balances db : {:?}", conditions) + fatal_error!("Apply Tx : try to consume a source, but the owner address is not found in balances db : {:?}", conditions) } } new_balances_consumed_adress -- GitLab