git.delta.rocks / unique-network / refs/commits / 79b6c1593ae3

difftreelog

Merge pull request #47 from usetech-llc/update_license

usetech-llc2020-12-22parents: #da457a0 #0333d12.patch.diff
in: master
Update license information

25 files changed

modifiedLICENSEdiffbeforeafterboth
--- a/LICENSE
+++ b/LICENSE
@@ -1,24 +1,15 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
+USETECH PROFESSIONAL CONFIDENTIAL
+__________________
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
+ [2019] - [2020] UseTech Professional LTD. 
+ All Rights Reserved.
 
-For more information, please refer to <http://unlicense.org>
+NOTICE:  All information contained herein is, and remains
+the property of UseTech Professional LTD. and its suppliers,
+if any. The intellectual and technical concepts contained
+herein are proprietary to UseTech Professional LTD.
+and its suppliers and may be covered by U.S. and Foreign Patents,
+patents in process, and are protected by trade secret or copyright law.
+Dissemination of this information or reproduction of this material
+is strictly forbidden unless prior written permission is obtained
+from UseTech Professional LTD..
modifiednode/build.rsdiffbeforeafterboth
--- a/node/build.rs
+++ b/node/build.rs
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
 
 fn main() {
modifiednode/src/chain_spec.rsdiffbeforeafterboth
--- a/node/src/chain_spec.rs
+++ b/node/src/chain_spec.rs
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 // use nft_runtime::{
 //     AccountId, AuraConfig, BalancesConfig, GenesisConfig, GrandpaConfig, Signature, SudoConfig,
 //     SystemConfig, WASM_BINARY,
modifiednode/src/main.rsdiffbeforeafterboth
--- a/node/src/main.rs
+++ b/node/src/main.rs
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 //! Substrate Node Template CLI library.
 #![warn(missing_docs)]
 
modifiednode/src/service.rsdiffbeforeafterboth
before · node/src/service.rs
1//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.23use std::sync::Arc;4use std::time::Duration;5use sc_client_api::{ExecutorProvider, RemoteBackend};6use nft_runtime::{self, opaque::Block, RuntimeApi};7use sc_service::{error::Error as ServiceError, Configuration, TaskManager};8use sp_inherents::InherentDataProviders;9use sc_executor::native_executor_instance;10pub use sc_executor::NativeExecutor;11use sp_consensus_aura::sr25519::{AuthorityPair as AuraPair};12use sc_finality_grandpa::{FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState};1314// Our native executor instance.15native_executor_instance!(16	pub Executor,17    nft_runtime::api::dispatch,18    nft_runtime::native_version,19	frame_benchmarking::benchmarking::HostFunctions,20);2122type FullClient = sc_service::TFullClient<Block, RuntimeApi, Executor>;23type FullBackend = sc_service::TFullBackend<Block>;24type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>;2526pub fn new_partial(config: &Configuration) -> Result<sc_service::PartialComponents<27	FullClient, FullBackend, FullSelectChain,28	sp_consensus::DefaultImportQueue<Block, FullClient>,29	sc_transaction_pool::FullPool<Block, FullClient>,30	(31		sc_consensus_aura::AuraBlockImport<32			Block,33			FullClient,34			sc_finality_grandpa::GrandpaBlockImport<FullBackend, Block, FullClient, FullSelectChain>,35			AuraPair36		>,37		sc_finality_grandpa::LinkHalf<Block, FullClient, FullSelectChain>38	)39>, ServiceError> {40	let inherent_data_providers = sp_inherents::InherentDataProviders::new();4142	let (client, backend, keystore, task_manager) =43		sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;44	let client = Arc::new(client);4546	let select_chain = sc_consensus::LongestChain::new(backend.clone());4748	let transaction_pool = sc_transaction_pool::BasicPool::new_full(49		config.transaction_pool.clone(),50		config.prometheus_registry(),51		task_manager.spawn_handle(),52		client.clone(),53	);5455	let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import(56		client.clone(), &(client.clone() as Arc<_>), select_chain.clone(),57	)?;5859	let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(60		grandpa_block_import.clone(), client.clone(),61	);6263	let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _, _>(64		sc_consensus_aura::slot_duration(&*client)?,65		aura_block_import.clone(),66		Some(Box::new(grandpa_block_import.clone())),67		None,68		client.clone(),69		inherent_data_providers.clone(),70		&task_manager.spawn_handle(),71		config.prometheus_registry(),72		sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),73	)?;7475	Ok(sc_service::PartialComponents {76		client, backend, task_manager, import_queue, keystore, select_chain, transaction_pool,77		inherent_data_providers,78		other: (aura_block_import, grandpa_link),79	})80}8182/// Builds a new service for a full client.83pub fn new_full(config: Configuration) -> Result<TaskManager, ServiceError> {84	let sc_service::PartialComponents {85		client, backend, mut task_manager, import_queue, keystore, select_chain, transaction_pool,86		inherent_data_providers,87		other: (block_import, grandpa_link),88	} = new_partial(&config)?;8990	let finality_proof_provider =91		GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());9293	let (network, network_status_sinks, system_rpc_tx, network_starter) =94		sc_service::build_network(sc_service::BuildNetworkParams {95			config: &config,96			client: client.clone(),97			transaction_pool: transaction_pool.clone(),98			spawn_handle: task_manager.spawn_handle(),99			import_queue,100			on_demand: None,101			block_announce_validator_builder: None,102			finality_proof_request_builder: None,103			finality_proof_provider: Some(finality_proof_provider.clone()),104		})?;105106	if config.offchain_worker.enabled {107		sc_service::build_offchain_workers(108			&config, backend.clone(), task_manager.spawn_handle(), client.clone(), network.clone(),109		);110	}111112	let role = config.role.clone();113	let force_authoring = config.force_authoring;114	let name = config.network.node_name.clone();115	let enable_grandpa = !config.disable_grandpa;116	let prometheus_registry = config.prometheus_registry().cloned();117	let telemetry_connection_sinks = sc_service::TelemetryConnectionSinks::default();118119	let rpc_extensions_builder = {120		let client = client.clone();121		let pool = transaction_pool.clone();122123		Box::new(move |deny_unsafe, _| {124			let deps = crate::rpc::FullDeps {125				client: client.clone(),126				pool: pool.clone(),127				deny_unsafe,128			};129130			crate::rpc::create_full(deps)131		})132	};133134	sc_service::spawn_tasks(sc_service::SpawnTasksParams {135		network: network.clone(),136		client: client.clone(),137		keystore: keystore.clone(),138		task_manager: &mut task_manager,139		transaction_pool: transaction_pool.clone(),140		telemetry_connection_sinks: telemetry_connection_sinks.clone(),141		rpc_extensions_builder: rpc_extensions_builder,142		on_demand: None,143		remote_blockchain: None,144		backend, network_status_sinks, system_rpc_tx, config,145	})?;146147	if role.is_authority() {148		let proposer = sc_basic_authorship::ProposerFactory::new(149			client.clone(),150			transaction_pool,151			prometheus_registry.as_ref(),152		);153154		let can_author_with =155			sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone());156157		let aura = sc_consensus_aura::start_aura::<_, _, _, _, _, AuraPair, _, _, _>(158			sc_consensus_aura::slot_duration(&*client)?,159			client.clone(),160			select_chain,161			block_import,162			proposer,163			network.clone(),164			inherent_data_providers.clone(),165			force_authoring,166			keystore.clone(),167			can_author_with,168		)?;169170		// the AURA authoring task is considered essential, i.e. if it171		// fails we take down the service with it.172		task_manager.spawn_essential_handle().spawn_blocking("aura", aura);173	}174175	// if the node isn't actively participating in consensus then it doesn't176	// need a keystore, regardless of which protocol we use below.177	let keystore = if role.is_authority() {178		Some(keystore as sp_core::traits::BareCryptoStorePtr)179	} else {180		None181	};182183	let grandpa_config = sc_finality_grandpa::Config {184		// FIXME #1578 make this available through chainspec185		gossip_duration: Duration::from_millis(333),186		justification_period: 512,187		name: Some(name),188		observer_enabled: false,189		keystore,190		is_authority: role.is_network_authority(),191	};192193	if enable_grandpa {194		// start the full GRANDPA voter195		// NOTE: non-authorities could run the GRANDPA observer protocol, but at196		// this point the full voter should provide better guarantees of block197		// and vote data availability than the observer. The observer has not198		// been tested extensively yet and having most nodes in a network run it199		// could lead to finality stalls.200		let grandpa_config = sc_finality_grandpa::GrandpaParams {201			config: grandpa_config,202			link: grandpa_link,203			network,204			inherent_data_providers,205			telemetry_on_connect: Some(telemetry_connection_sinks.on_connect_stream()),206			voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),207			prometheus_registry,208			shared_voter_state: SharedVoterState::empty(),209		};210211		// the GRANDPA voter task is considered infallible, i.e.212		// if it fails we take down the service with it.213		task_manager.spawn_essential_handle().spawn_blocking(214			"grandpa-voter",215			sc_finality_grandpa::run_grandpa_voter(grandpa_config)?216		);217	} else {218		sc_finality_grandpa::setup_disabled_grandpa(219			client,220			&inherent_data_providers,221			network,222		)?;223	}224225	network_starter.start_network();226	Ok(task_manager)227}228229/// Builds a new service for a light client.230pub fn new_light(config: Configuration) -> Result<TaskManager, ServiceError> {231	let (client, backend, keystore, mut task_manager, on_demand) =232		sc_service::new_light_parts::<Block, RuntimeApi, Executor>(&config)?;233234	let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light(235		config.transaction_pool.clone(),236		config.prometheus_registry(),237		task_manager.spawn_handle(),238		client.clone(),239		on_demand.clone(),240	));241242	let grandpa_block_import = sc_finality_grandpa::light_block_import(243		client.clone(), backend.clone(), &(client.clone() as Arc<_>),244		Arc::new(on_demand.checker().clone()) as Arc<_>,245	)?;246	let finality_proof_import = grandpa_block_import.clone();247	let finality_proof_request_builder =248		finality_proof_import.create_finality_proof_request_builder();249250	let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _, _>(251		sc_consensus_aura::slot_duration(&*client)?,252		grandpa_block_import,253		None,254		Some(Box::new(finality_proof_import)),255		client.clone(),256		InherentDataProviders::new(),257		&task_manager.spawn_handle(),258		config.prometheus_registry(),259		sp_consensus::NeverCanAuthor,260	)?;261262	let finality_proof_provider =263		GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());264265	let (network, network_status_sinks, system_rpc_tx, network_starter) =266		sc_service::build_network(sc_service::BuildNetworkParams {267			config: &config,268			client: client.clone(),269			transaction_pool: transaction_pool.clone(),270			spawn_handle: task_manager.spawn_handle(),271			import_queue,272			on_demand: Some(on_demand.clone()),273			block_announce_validator_builder: None,274			finality_proof_request_builder: Some(finality_proof_request_builder),275			finality_proof_provider: Some(finality_proof_provider),276		})?;277278	if config.offchain_worker.enabled {279		sc_service::build_offchain_workers(280			&config, backend.clone(), task_manager.spawn_handle(), client.clone(), network.clone(),281		);282	}283284	sc_service::spawn_tasks(sc_service::SpawnTasksParams {285		remote_blockchain: Some(backend.remote_blockchain()),286		transaction_pool,287		task_manager: &mut task_manager,288		on_demand: Some(on_demand),289		rpc_extensions_builder: Box::new(|_, _| ()),290		telemetry_connection_sinks: sc_service::TelemetryConnectionSinks::default(),291		config,292		client,293		keystore,294		backend,295		network,296		network_status_sinks,297		system_rpc_tx,298	 })?;299300	 network_starter.start_network();301302	 Ok(task_manager)303}
after · node/src/service.rs
1//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.23//4// This file is subject to the terms and conditions defined in5// file 'LICENSE', which is part of this source code package.6//78use std::sync::Arc;9use std::time::Duration;10use sc_client_api::{ExecutorProvider, RemoteBackend};11use nft_runtime::{self, opaque::Block, RuntimeApi};12use sc_service::{error::Error as ServiceError, Configuration, TaskManager};13use sp_inherents::InherentDataProviders;14use sc_executor::native_executor_instance;15pub use sc_executor::NativeExecutor;16use sp_consensus_aura::sr25519::{AuthorityPair as AuraPair};17use sc_finality_grandpa::{FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState};1819// Our native executor instance.20native_executor_instance!(21	pub Executor,22    nft_runtime::api::dispatch,23    nft_runtime::native_version,24	frame_benchmarking::benchmarking::HostFunctions,25);2627type FullClient = sc_service::TFullClient<Block, RuntimeApi, Executor>;28type FullBackend = sc_service::TFullBackend<Block>;29type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>;3031pub fn new_partial(config: &Configuration) -> Result<sc_service::PartialComponents<32	FullClient, FullBackend, FullSelectChain,33	sp_consensus::DefaultImportQueue<Block, FullClient>,34	sc_transaction_pool::FullPool<Block, FullClient>,35	(36		sc_consensus_aura::AuraBlockImport<37			Block,38			FullClient,39			sc_finality_grandpa::GrandpaBlockImport<FullBackend, Block, FullClient, FullSelectChain>,40			AuraPair41		>,42		sc_finality_grandpa::LinkHalf<Block, FullClient, FullSelectChain>43	)44>, ServiceError> {45	let inherent_data_providers = sp_inherents::InherentDataProviders::new();4647	let (client, backend, keystore, task_manager) =48		sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;49	let client = Arc::new(client);5051	let select_chain = sc_consensus::LongestChain::new(backend.clone());5253	let transaction_pool = sc_transaction_pool::BasicPool::new_full(54		config.transaction_pool.clone(),55		config.prometheus_registry(),56		task_manager.spawn_handle(),57		client.clone(),58	);5960	let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import(61		client.clone(), &(client.clone() as Arc<_>), select_chain.clone(),62	)?;6364	let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(65		grandpa_block_import.clone(), client.clone(),66	);6768	let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _, _>(69		sc_consensus_aura::slot_duration(&*client)?,70		aura_block_import.clone(),71		Some(Box::new(grandpa_block_import.clone())),72		None,73		client.clone(),74		inherent_data_providers.clone(),75		&task_manager.spawn_handle(),76		config.prometheus_registry(),77		sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),78	)?;7980	Ok(sc_service::PartialComponents {81		client, backend, task_manager, import_queue, keystore, select_chain, transaction_pool,82		inherent_data_providers,83		other: (aura_block_import, grandpa_link),84	})85}8687/// Builds a new service for a full client.88pub fn new_full(config: Configuration) -> Result<TaskManager, ServiceError> {89	let sc_service::PartialComponents {90		client, backend, mut task_manager, import_queue, keystore, select_chain, transaction_pool,91		inherent_data_providers,92		other: (block_import, grandpa_link),93	} = new_partial(&config)?;9495	let finality_proof_provider =96		GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());9798	let (network, network_status_sinks, system_rpc_tx, network_starter) =99		sc_service::build_network(sc_service::BuildNetworkParams {100			config: &config,101			client: client.clone(),102			transaction_pool: transaction_pool.clone(),103			spawn_handle: task_manager.spawn_handle(),104			import_queue,105			on_demand: None,106			block_announce_validator_builder: None,107			finality_proof_request_builder: None,108			finality_proof_provider: Some(finality_proof_provider.clone()),109		})?;110111	if config.offchain_worker.enabled {112		sc_service::build_offchain_workers(113			&config, backend.clone(), task_manager.spawn_handle(), client.clone(), network.clone(),114		);115	}116117	let role = config.role.clone();118	let force_authoring = config.force_authoring;119	let name = config.network.node_name.clone();120	let enable_grandpa = !config.disable_grandpa;121	let prometheus_registry = config.prometheus_registry().cloned();122	let telemetry_connection_sinks = sc_service::TelemetryConnectionSinks::default();123124	let rpc_extensions_builder = {125		let client = client.clone();126		let pool = transaction_pool.clone();127128		Box::new(move |deny_unsafe, _| {129			let deps = crate::rpc::FullDeps {130				client: client.clone(),131				pool: pool.clone(),132				deny_unsafe,133			};134135			crate::rpc::create_full(deps)136		})137	};138139	sc_service::spawn_tasks(sc_service::SpawnTasksParams {140		network: network.clone(),141		client: client.clone(),142		keystore: keystore.clone(),143		task_manager: &mut task_manager,144		transaction_pool: transaction_pool.clone(),145		telemetry_connection_sinks: telemetry_connection_sinks.clone(),146		rpc_extensions_builder: rpc_extensions_builder,147		on_demand: None,148		remote_blockchain: None,149		backend, network_status_sinks, system_rpc_tx, config,150	})?;151152	if role.is_authority() {153		let proposer = sc_basic_authorship::ProposerFactory::new(154			client.clone(),155			transaction_pool,156			prometheus_registry.as_ref(),157		);158159		let can_author_with =160			sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone());161162		let aura = sc_consensus_aura::start_aura::<_, _, _, _, _, AuraPair, _, _, _>(163			sc_consensus_aura::slot_duration(&*client)?,164			client.clone(),165			select_chain,166			block_import,167			proposer,168			network.clone(),169			inherent_data_providers.clone(),170			force_authoring,171			keystore.clone(),172			can_author_with,173		)?;174175		// the AURA authoring task is considered essential, i.e. if it176		// fails we take down the service with it.177		task_manager.spawn_essential_handle().spawn_blocking("aura", aura);178	}179180	// if the node isn't actively participating in consensus then it doesn't181	// need a keystore, regardless of which protocol we use below.182	let keystore = if role.is_authority() {183		Some(keystore as sp_core::traits::BareCryptoStorePtr)184	} else {185		None186	};187188	let grandpa_config = sc_finality_grandpa::Config {189		// FIXME #1578 make this available through chainspec190		gossip_duration: Duration::from_millis(333),191		justification_period: 512,192		name: Some(name),193		observer_enabled: false,194		keystore,195		is_authority: role.is_network_authority(),196	};197198	if enable_grandpa {199		// start the full GRANDPA voter200		// NOTE: non-authorities could run the GRANDPA observer protocol, but at201		// this point the full voter should provide better guarantees of block202		// and vote data availability than the observer. The observer has not203		// been tested extensively yet and having most nodes in a network run it204		// could lead to finality stalls.205		let grandpa_config = sc_finality_grandpa::GrandpaParams {206			config: grandpa_config,207			link: grandpa_link,208			network,209			inherent_data_providers,210			telemetry_on_connect: Some(telemetry_connection_sinks.on_connect_stream()),211			voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),212			prometheus_registry,213			shared_voter_state: SharedVoterState::empty(),214		};215216		// the GRANDPA voter task is considered infallible, i.e.217		// if it fails we take down the service with it.218		task_manager.spawn_essential_handle().spawn_blocking(219			"grandpa-voter",220			sc_finality_grandpa::run_grandpa_voter(grandpa_config)?221		);222	} else {223		sc_finality_grandpa::setup_disabled_grandpa(224			client,225			&inherent_data_providers,226			network,227		)?;228	}229230	network_starter.start_network();231	Ok(task_manager)232}233234/// Builds a new service for a light client.235pub fn new_light(config: Configuration) -> Result<TaskManager, ServiceError> {236	let (client, backend, keystore, mut task_manager, on_demand) =237		sc_service::new_light_parts::<Block, RuntimeApi, Executor>(&config)?;238239	let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light(240		config.transaction_pool.clone(),241		config.prometheus_registry(),242		task_manager.spawn_handle(),243		client.clone(),244		on_demand.clone(),245	));246247	let grandpa_block_import = sc_finality_grandpa::light_block_import(248		client.clone(), backend.clone(), &(client.clone() as Arc<_>),249		Arc::new(on_demand.checker().clone()) as Arc<_>,250	)?;251	let finality_proof_import = grandpa_block_import.clone();252	let finality_proof_request_builder =253		finality_proof_import.create_finality_proof_request_builder();254255	let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _, _>(256		sc_consensus_aura::slot_duration(&*client)?,257		grandpa_block_import,258		None,259		Some(Box::new(finality_proof_import)),260		client.clone(),261		InherentDataProviders::new(),262		&task_manager.spawn_handle(),263		config.prometheus_registry(),264		sp_consensus::NeverCanAuthor,265	)?;266267	let finality_proof_provider =268		GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());269270	let (network, network_status_sinks, system_rpc_tx, network_starter) =271		sc_service::build_network(sc_service::BuildNetworkParams {272			config: &config,273			client: client.clone(),274			transaction_pool: transaction_pool.clone(),275			spawn_handle: task_manager.spawn_handle(),276			import_queue,277			on_demand: Some(on_demand.clone()),278			block_announce_validator_builder: None,279			finality_proof_request_builder: Some(finality_proof_request_builder),280			finality_proof_provider: Some(finality_proof_provider),281		})?;282283	if config.offchain_worker.enabled {284		sc_service::build_offchain_workers(285			&config, backend.clone(), task_manager.spawn_handle(), client.clone(), network.clone(),286		);287	}288289	sc_service::spawn_tasks(sc_service::SpawnTasksParams {290		remote_blockchain: Some(backend.remote_blockchain()),291		transaction_pool,292		task_manager: &mut task_manager,293		on_demand: Some(on_demand),294		rpc_extensions_builder: Box::new(|_, _| ()),295		telemetry_connection_sinks: sc_service::TelemetryConnectionSinks::default(),296		config,297		client,298		keystore,299		backend,300		network,301		network_status_sinks,302		system_rpc_tx,303	 })?;304305	 network_starter.start_network();306307	 Ok(task_manager)308}
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 #![recursion_limit = "1024"]
 
 #![cfg_attr(not(feature = "std"), no_std)]
modifiedruntime/src/lib.rsdiffbeforeafterboth
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 //! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.
 
 #![cfg_attr(not(feature = "std"), no_std)]
modifiedruntime/src/nft_weights.rsdiffbeforeafterboth
--- a/runtime/src/nft_weights.rs
+++ b/runtime/src/nft_weights.rs
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 use frame_support::weights::{Weight, constants::RocksDbWeight as DbWeight};
 
 pub struct WeightInfo;
modifiedtests/src/accounts.tsdiffbeforeafterboth
--- a/tests/src/accounts.ts
+++ b/tests/src/accounts.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 export const bobsPublicKey = '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty';
 export const alicesPublicKey = '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY';
 export const ferdiesPublicKey = '5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL';
modifiedtests/src/blocks-production.test.tsdiffbeforeafterboth
--- a/tests/src/blocks-production.test.ts
+++ b/tests/src/blocks-production.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import usingApi from "./substrate/substrate-api";
 import promisifySubstrate from "./substrate/promisify-substrate";
 import { expect } from "chai";
modifiedtests/src/config.tsdiffbeforeafterboth
--- a/tests/src/config.ts
+++ b/tests/src/config.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import process from 'process';
 
 const config = {
modifiedtests/src/connection.test.tsdiffbeforeafterboth
--- a/tests/src/connection.test.ts
+++ b/tests/src/connection.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import usingApi from "./substrate/substrate-api";
 import { WsProvider } from '@polkadot/api';
 import * as chai from 'chai';
modifiedtests/src/contracts.test.tsdiffbeforeafterboth
--- a/tests/src/contracts.test.ts
+++ b/tests/src/contracts.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { ApiPromise } from "@polkadot/api";
 import { expect } from "chai";
 import { default as usingApi, submitTransactionAsync } from "./substrate/substrate-api";
modifiedtests/src/createCollection.test.tsdiffbeforeafterboth
--- a/tests/src/createCollection.test.ts
+++ b/tests/src/createCollection.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
 import { default as usingApi } from "./substrate/substrate-api";
modifiedtests/src/createMultipleItems.test.tsdiffbeforeafterboth
--- a/tests/src/createMultipleItems.test.ts
+++ b/tests/src/createMultipleItems.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { assert } from 'chai';
 import { alicesPublicKey } from './accounts';
 import privateKey from './substrate/privateKey';
modifiedtests/src/creditFeesToTreasury.test.tsdiffbeforeafterboth
--- a/tests/src/creditFeesToTreasury.test.ts
+++ b/tests/src/creditFeesToTreasury.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
 import { default as usingApi, submitTransactionAsync } from "./substrate/substrate-api";
modifiedtests/src/pallet-presence.test.tsdiffbeforeafterboth
--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { ApiPromise } from "@polkadot/api";
 import { expect } from "chai";
 import usingApi from "./substrate/substrate-api";
modifiedtests/src/substrate/get-balance.tsdiffbeforeafterboth
--- a/tests/src/substrate/get-balance.ts
+++ b/tests/src/substrate/get-balance.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { ApiPromise } from "@polkadot/api";
 import promisifySubstrate from "./promisify-substrate";
 import {AccountInfo} from "@polkadot/types/interfaces/system";
modifiedtests/src/substrate/privateKey.tsdiffbeforeafterboth
--- a/tests/src/substrate/privateKey.ts
+++ b/tests/src/substrate/privateKey.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { Keyring } from "@polkadot/api";
 import { IKeyringPair } from "@polkadot/types/types";
 
modifiedtests/src/substrate/promisify-substrate.tsdiffbeforeafterboth
--- a/tests/src/substrate/promisify-substrate.ts
+++ b/tests/src/substrate/promisify-substrate.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import ApiPromise from "@polkadot/api/promise/Api";
 
 type PromiseType<T> = T extends PromiseLike<infer TInner> ? TInner : T;
modifiedtests/src/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { WsProvider, ApiPromise } from "@polkadot/api";
 import type { AccountId, Address, ApplyExtrinsicResult, DispatchError, DispatchInfo, EventRecord, Extrinsic, ExtrinsicStatus, Hash, RuntimeDispatchInfo } from '@polkadot/types/interfaces';
 import { IKeyringPair } from "@polkadot/types/types";
modifiedtests/src/substrate/wait-new-blocks.tsdiffbeforeafterboth
--- a/tests/src/substrate/wait-new-blocks.ts
+++ b/tests/src/substrate/wait-new-blocks.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { ApiPromise } from "@polkadot/api";
 
 export default function waitNewBlocks(api: ApiPromise, blocksCount: number = 1): Promise<void> {
modifiedtests/src/transfer.test.tsdiffbeforeafterboth
--- a/tests/src/transfer.test.ts
+++ b/tests/src/transfer.test.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import { expect, assert } from "chai";
 import { default as usingApi, submitTransactionAsync } from "./substrate/substrate-api";
 import { alicesPublicKey, bobsPublicKey, ferdiesPublicKey } from "./accounts";
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
 import type { AccountId, EventRecord } from '@polkadot/types/interfaces';
modifiedtests/src/util/util.tsdiffbeforeafterboth
--- a/tests/src/util/util.ts
+++ b/tests/src/util/util.ts
@@ -1,3 +1,8 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
 export function strToUTF16(str: string): any {
   let buf: number[] = [];
   for (let i=0, strLen=str.length; i < strLen; i++) {