Select Git revision
-
* allow clippy needless_pass_by_ref_mut * fix clippy °_° * fix provider behavior * fix build errors * change behavior of going below ED * fix provider initialization * add mock epoch change * add session number test * add session number test * WIP fix tests * fix time-based ud test * update metadata * FIX apply all fix from flash branch * partial fix clippy other suggestions are not legit * fix metadata and end2end test * fix build tests * fix build and clippy * remove benchmark of upgrade_accounts this happens in substrate dependency I also updated other packages because why not :D and I removed a useless implementation in mock but the test do not compile with feature runtime benchmarks anyway * test_total_issuance_vs_monetary_mass * proofreading comment * fix total issuance differently this actually fixes total issuance at genesis instead of creating duplicate account data * fix test scenario the thing tested here was not the ability to call the function, but the impossibility of deleting the account * add comment to explain test * fix providers and sufficients counts * fix initial balance * fix initial TotalIssuance * fix clippy warnings and optimization * fix xtask * update docs * add DustHandle * fix pallets config * fix tests * fix pallet_balance genesis config * wip: fix end2end-test * fix manual and instant sealing * fix live-tests * fix offences after rebase * generate all weights * add rust toolchain file * fix benchmarks Pallet balances benchmarks need https://github.com/duniter/substrate/commit/c36ab4f32454318a47777b24b6533c44121fc10b because pallet duniter-account add another provider. * fix babe-worker * fix subxt dependency * fix ImplicitCallIndex and Weight::from_ref_time deprecation * fix consensus_babe dependency * regenerate weights Regenerate all weights except for pallet-balance failing on one extrinsic * workaround pallet_duniter_account Workaround to be able to pass https://github.com/paritytech/substrate/blob/6ef184e33f6ce0f56999ae84b212ea6148c0624d/frame/balances/src/benchmarking.rs#L271 in the benchmark. ExtraFlags is private and Default is always new_logic not suitable for the benchmark. * wip fix node errors * wip fix runtime errors * fix pallet-duniter-account errors * fix pallet-balance errors * fix pallet-identity errors * fix pallet-duniter-account errors * upgrade Cargo files * update docs
* allow clippy needless_pass_by_ref_mut * fix clippy °_° * fix provider behavior * fix build errors * change behavior of going below ED * fix provider initialization * add mock epoch change * add session number test * add session number test * WIP fix tests * fix time-based ud test * update metadata * FIX apply all fix from flash branch * partial fix clippy other suggestions are not legit * fix metadata and end2end test * fix build tests * fix build and clippy * remove benchmark of upgrade_accounts this happens in substrate dependency I also updated other packages because why not :D and I removed a useless implementation in mock but the test do not compile with feature runtime benchmarks anyway * test_total_issuance_vs_monetary_mass * proofreading comment * fix total issuance differently this actually fixes total issuance at genesis instead of creating duplicate account data * fix test scenario the thing tested here was not the ability to call the function, but the impossibility of deleting the account * add comment to explain test * fix providers and sufficients counts * fix initial balance * fix initial TotalIssuance * fix clippy warnings and optimization * fix xtask * update docs * add DustHandle * fix pallets config * fix tests * fix pallet_balance genesis config * wip: fix end2end-test * fix manual and instant sealing * fix live-tests * fix offences after rebase * generate all weights * add rust toolchain file * fix benchmarks Pallet balances benchmarks need https://github.com/duniter/substrate/commit/c36ab4f32454318a47777b24b6533c44121fc10b because pallet duniter-account add another provider. * fix babe-worker * fix subxt dependency * fix ImplicitCallIndex and Weight::from_ref_time deprecation * fix consensus_babe dependency * regenerate weights Regenerate all weights except for pallet-balance failing on one extrinsic * workaround pallet_duniter_account Workaround to be able to pass https://github.com/paritytech/substrate/blob/6ef184e33f6ce0f56999ae84b212ea6148c0624d/frame/balances/src/benchmarking.rs#L271 in the benchmark. ExtraFlags is private and Default is always new_logic not suitable for the benchmark. * wip fix node errors * wip fix runtime errors * fix pallet-duniter-account errors * fix pallet-balance errors * fix pallet-identity errors * fix pallet-duniter-account errors * upgrade Cargo files * update docs
lib.rs 2.32 KiB
// 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/>.
//! Common rust tools for DURS project.
#![deny(
missing_docs,
missing_debug_implementations,
missing_copy_implementations,
trivial_casts,
trivial_numeric_casts,
unsafe_code,
unstable_features,
unused_import_braces
)]
/// Interrupts the program and log error message
/// WARNING: this macro must not be called before the logger is initialized !
#[macro_export]
macro_rules! fatal_error {
($msg:expr) => ({
error!("{}", &dbg!($msg));
panic!($msg);
});
($msg:expr,) => ({
error!("{}", &dbg!($msg));
panic!($msg);
});
($fmt:expr, $($arg:tt)+) => ({
error!("{}", dbg!(format!($fmt, $($arg)+)));
panic!($fmt, $($arg)+);
});
}
/*macro_rules! error {
(target: $target:expr, $($arg:tt)+) => (
log!(target: $target, $crate::Level::Error, $($arg)+);
);
($($arg:tt)+) => (
log!($crate::Level::Error, $($arg)+);
)
}*/
/// Unescape backslash
pub fn unescape_str(source: &str) -> String {
let mut previous_char = None;
let mut str_result = String::with_capacity(source.len());
for current_char in source.chars() {
if previous_char.is_some() && previous_char.unwrap() == '\\' {
match current_char {
'\\' => {} // Do nothing
_ => str_result.push(current_char),
}
} else {
str_result.push(current_char);
}
previous_char = Some(current_char);
}
str_result
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
pub fn test_unescape_str() {
assert_eq!("\\".to_owned(), unescape_str("\\\\"));
}
}