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
service.rs 26.34 KiB
// Copyright 2021 Axiom-Team
//
// This file is part of Duniter-v2S.
//
// Duniter-v2S 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, version 3 of the License.
//
// Duniter-v2S 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 Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
pub mod client;
use self::client::{Client, ClientHandle, RuntimeApiCollection};
use async_io::Timer;
use common_runtime::Block;
use futures::{Stream, StreamExt};
use sc_client_api::client::BlockBackend;
use sc_consensus_grandpa::SharedVoterState;
use sc_consensus_manual_seal::{run_manual_seal, EngineCommand, ManualSealParams};
pub use sc_executor::NativeElseWasmExecutor;
use sc_network_common::sync::warp::WarpSyncParams;
use sc_service::{error::Error as ServiceError, Configuration, PartialComponents, TaskManager};
use sc_telemetry::{Telemetry, TelemetryWorker};
use sp_core::H256;
use sp_runtime::traits::BlakeTwo256;
use std::{path::PathBuf, sync::Arc, time::Duration};
type FullClient<RuntimeApi, Executor> =
sc_service::TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<Executor>>;
type FullBackend = sc_service::TFullBackend<Block>;
type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>;
#[cfg(feature = "gdev")]
pub struct GDevExecutor;
#[cfg(feature = "gdev")]
impl sc_executor::NativeExecutionDispatch for GDevExecutor {
/// Only enable the benchmarking host functions when we actually want to benchmark.
#[cfg(feature = "runtime-benchmarks")]
type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
/// Otherwise we only use the default Substrate host functions.
#[cfg(not(feature = "runtime-benchmarks"))]
type ExtendHostFunctions = ();
fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
gdev_runtime::api::dispatch(method, data)
}
fn native_version() -> sc_executor::NativeVersion {
gdev_runtime::native_version()
}
}
#[cfg(feature = "gtest")]
pub struct GTestExecutor;
#[cfg(feature = "gtest")]
impl sc_executor::NativeExecutionDispatch for GTestExecutor {
/// Only enable the benchmarking host functions when we actually want to benchmark.
#[cfg(feature = "runtime-benchmarks")]
type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions;
/// Otherwise we only use the default Substrate host functions.
#[cfg(not(feature = "runtime-benchmarks"))]
type ExtendHostFunctions = ();