git.delta.rocks / unique-network / refs/commits / b1f22167a941

difftreelog

fix remove from_ref_time usages

Yaroslav Bolyukin2023-04-17parent: #07a293d.patch.diff
in: master

9 files changed

modifiedpallets/common/src/dispatch.rsdiffbeforeafterboth
--- a/pallets/common/src/dispatch.rs
+++ b/pallets/common/src/dispatch.rs
@@ -19,7 +19,7 @@
 	// Read collection
 	<T as frame_system::Config>::DbWeight::get().reads(1)
 	// Dynamic dispatch?
-	+ Weight::from_ref_time(6_000_000)
+	+ Weight::from_parts(6_000_000, 0)
 	// submit_logs is measured as part of collection pallets
 }
 
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -92,6 +92,7 @@
 pub mod dispatch;
 pub mod erc;
 pub mod eth;
+#[allow(missing_docs)]
 pub mod weights;
 
 /// Weight info.
@@ -157,10 +158,12 @@
 		reads: u64,
 	) -> pallet_evm_coder_substrate::execution::Result<()> {
 		self.recorder
-			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
+			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_parts(
 				<T as frame_system::Config>::DbWeight::get()
 					.read
 					.saturating_mul(reads),
+				// TODO: measure proof
+				0,
 			)))
 	}
 
@@ -170,10 +173,12 @@
 		writes: u64,
 	) -> pallet_evm_coder_substrate::execution::Result<()> {
 		self.recorder
-			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
+			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_parts(
 				<T as frame_system::Config>::DbWeight::get()
 					.write
 					.saturating_mul(writes),
+				// TODO: measure proof
+				0,
 			)))
 	}
 
@@ -187,8 +192,10 @@
 		let reads = weight.read.saturating_mul(reads);
 		let writes = weight.read.saturating_mul(writes);
 		self.recorder
-			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
+			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_parts(
 				reads.saturating_add(writes),
+				// TODO: measure proof
+				0,
 			)))
 	}
 
modifiedpallets/evm-coder-substrate/src/execution.rsdiffbeforeafterboth
--- a/pallets/evm-coder-substrate/src/execution.rs
+++ b/pallets/evm-coder-substrate/src/execution.rs
@@ -61,7 +61,7 @@
 	fn dispatch_info(&self) -> DispatchInfo {
 		DispatchInfo {
 			// ERC165 impl should be cheap
-			weight: Weight::from_ref_time(200),
+			weight: Weight::from_parts(200, 0),
 		}
 	}
 }
@@ -77,10 +77,11 @@
 		Self { weight }
 	}
 }
+// TODO: use 2-dimensional weight after frontier upgrade
 impl From<u64> for DispatchInfo {
 	fn from(weight: u64) -> Self {
 		Self {
-			weight: Weight::from_ref_time(weight),
+			weight: Weight::from_parts(weight, 0),
 		}
 	}
 }
modifiedpallets/evm-migration/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-migration/src/lib.rs
+++ b/pallets/evm-migration/src/lib.rs
@@ -21,6 +21,7 @@
 pub use pallet::*;
 #[cfg(feature = "runtime-benchmarks")]
 pub mod benchmarking;
+#[allow(missing_docs)]
 pub mod weights;
 
 #[frame_support::pallet]
modifiedpallets/unique/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/unique/src/benchmarking.rs
+++ b/pallets/unique/src/benchmarking.rs
@@ -26,6 +26,11 @@
 	Config as CommonConfig,
 	benchmarking::{create_data, create_u16_data},
 };
+use up_data_structs::{
+	CollectionId, CollectionMode, MAX_COLLECTION_NAME_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
+	MAX_COLLECTION_DESCRIPTION_LENGTH, CollectionLimits,
+};
+use pallet_common::erc::CrossAccountId;
 
 const SEED: u32 = 1;
 
@@ -34,9 +39,9 @@
 	mode: CollectionMode,
 ) -> Result<CollectionId, DispatchError> {
 	<T as CommonConfig>::Currency::deposit_creating(&owner, T::CollectionCreationPrice::get());
-	let col_name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
-	let col_desc = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
-	let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
+	let col_name = create_u16_data::<{ MAX_COLLECTION_NAME_LENGTH }>();
+	let col_desc = create_u16_data::<{ MAX_COLLECTION_DESCRIPTION_LENGTH }>();
+	let token_prefix = create_data::<{ MAX_TOKEN_PREFIX_LENGTH }>();
 	<Pallet<T>>::create_collection(
 		RawOrigin::Signed(owner).into(),
 		col_name,
@@ -54,9 +59,9 @@
 
 benchmarks! {
 	create_collection {
-		let col_name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
-		let col_desc = create_u16_data::<MAX_COLLECTION_DESCRIPTION_LENGTH>();
-		let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
+		let col_name = create_u16_data::<{MAX_COLLECTION_NAME_LENGTH}>();
+		let col_desc = create_u16_data::<{MAX_COLLECTION_DESCRIPTION_LENGTH}>();
+		let token_prefix = create_data::<{MAX_TOKEN_PREFIX_LENGTH}>();
 		let mode: CollectionMode = CollectionMode::NFT;
 		let caller: T::AccountId = account("caller", 0, SEED);
 		<T as CommonConfig>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -89,14 +89,11 @@
 	use frame_support::{
 		dispatch::DispatchResult,
 		ensure, fail,
-		weights::{Weight},
-		pallet_prelude::{*},
 		BoundedVec,
 		storage::Key,
 	};
-	use frame_system::pallet_prelude::*;
 	use scale_info::TypeInfo;
-	use frame_system::{self as system, ensure_signed, ensure_root};
+	use frame_system::{ensure_signed, ensure_root};
 	use sp_std::{vec, vec::Vec};
 	use up_data_structs::{
 		MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
modifiedprimitives/common/src/constants.rsdiffbeforeafterboth
--- a/primitives/common/src/constants.rs
+++ b/primitives/common/src/constants.rs
@@ -64,9 +64,10 @@
 /// by  Operational  extrinsics.
 pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);
 /// We allow for 2 seconds of compute with a 6 second average block time.
-pub const MAXIMUM_BLOCK_WEIGHT: Weight =
-	Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_div(2))
-		.set_proof_size(MAX_POV_SIZE as u64);
+pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts(
+	WEIGHT_REF_TIME_PER_SECOND.saturating_div(2),
+	MAX_POV_SIZE as u64,
+);
 
 parameter_types! {
 	pub const TransactionByteFee: Balance = 501 * MICROUNIQUE / 2;
modifiedruntime/common/config/ethereum.rsdiffbeforeafterboth
before · runtime/common/config/ethereum.rs
1use sp_core::{U256, H160};2use frame_support::{3	weights::{Weight, constants::WEIGHT_REF_TIME_PER_SECOND},4	traits::{FindAuthor},5	parameter_types, ConsensusEngineId,6};7use sp_runtime::{RuntimeAppPublic, Perbill};8use crate::{9	runtime_common::{10		config::sponsoring::DefaultSponsoringRateLimit,11		DealWithFees,12		dispatch::CollectionDispatchT,13		ethereum::{precompiles::UniquePrecompiles, sponsoring::EvmSponsorshipHandler},14	},15	Runtime, Aura, Balances, RuntimeEvent, ChainId,16};17use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping};18use pallet_ethereum::PostLogContent;19use up_common::constants::*;2021pub type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;2223// Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case24// (contract, which only writes a lot of data),25// approximating on top of our real store write weight26parameter_types! {27	pub const WritesPerSecond: u64 = WEIGHT_REF_TIME_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;28	pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;29	pub const WeightTimePerGas: u64 = WEIGHT_REF_TIME_PER_SECOND / GasPerSecond::get();3031	pub const WeightPerGas: Weight = Weight::from_ref_time(WeightTimePerGas::get());32}3334/// Limiting EVM execution to 50% of block for substrate users and management tasks35/// EVM transaction consumes more weight than substrate's, so we can't rely on them being36/// scheduled fairly37const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);38parameter_types! {39	pub BlockGasLimit: U256 = U256::from((NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightTimePerGas::get()).ref_time());40	pub PrecompilesValue: UniquePrecompiles<Runtime> = UniquePrecompiles::<_>::new();41}4243pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);44impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F> {45	fn find_author<'a, I>(digests: I) -> Option<H160>46	where47		I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,48	{49		if let Some(author_index) = F::find_author(digests) {50			let authority_id = Aura::authorities()[author_index as usize].clone();51			return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]));52		}53		None54	}55}5657impl pallet_evm::Config for Runtime {58	type CrossAccountId = CrossAccountId;59	type AddressMapping = HashedAddressMapping<Self::Hashing>;60	type BackwardsAddressMapping = HashedAddressMapping<Self::Hashing>;61	type BlockGasLimit = BlockGasLimit;62	type FeeCalculator = pallet_configuration::FeeCalculator<Self>;63	type GasWeightMapping = pallet_evm::FixedGasWeightMapping<Self>;64	type WeightPerGas = WeightPerGas;65	type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;66	type CallOrigin = EnsureAddressTruncated<Self>;67	type WithdrawOrigin = EnsureAddressTruncated<Self>;68	type PrecompilesType = UniquePrecompiles<Self>;69	type PrecompilesValue = PrecompilesValue;70	type Currency = Balances;71	type RuntimeEvent = RuntimeEvent;72	type OnMethodCall = (73		pallet_evm_migration::OnMethodCall<Self>,74		pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,75		CollectionDispatchT<Self>,76		pallet_unique::eth::CollectionHelpersOnMethodCall<Self>,77	);78	type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;79	type ChainId = ChainId;80	type Runner = pallet_evm::runner::stack::Runner<Self>;81	type OnChargeTransaction = pallet_evm::EVMCurrencyAdapter<Balances, DealWithFees>;82	type TransactionValidityHack = pallet_evm_transaction_payment::TransactionValidityHack<Self>;83	type FindAuthor = EthereumFindAuthor<Aura>;84}8586impl pallet_evm_migration::Config for Runtime {87	type RuntimeEvent = RuntimeEvent;88	type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;89}9091parameter_types! {92	pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes;93}9495impl pallet_ethereum::Config for Runtime {96	type RuntimeEvent = RuntimeEvent;97	type StateRoot = pallet_ethereum::IntermediateStateRoot<Self>;98	type PostLogContent = PostBlockAndTxnHashes;99}100101parameter_types! {102	// 0x842899ECF380553E8a4de75bF534cdf6fBF64049103	pub const HelpersContractAddress: H160 = H160([104		0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,105	]);106107	// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f108	pub const EvmCollectionHelpersAddress: H160 = H160([109		0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,110	]);111}112113impl pallet_evm_contract_helpers::Config for Runtime {114	type RuntimeEvent = RuntimeEvent;115	type ContractAddress = HelpersContractAddress;116	type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;117}118119impl pallet_evm_coder_substrate::Config for Runtime {}120121impl pallet_evm_transaction_payment::Config for Runtime {122	type EvmSponsorshipHandler = EvmSponsorshipHandler;123}
after · runtime/common/config/ethereum.rs
1use sp_core::{U256, H160};2use frame_support::{3	weights::{Weight, constants::WEIGHT_REF_TIME_PER_SECOND},4	traits::{FindAuthor},5	parameter_types, ConsensusEngineId,6};7use sp_runtime::{RuntimeAppPublic, Perbill};8use crate::{9	runtime_common::{10		config::sponsoring::DefaultSponsoringRateLimit,11		DealWithFees,12		dispatch::CollectionDispatchT,13		ethereum::{precompiles::UniquePrecompiles, sponsoring::EvmSponsorshipHandler},14	},15	Runtime, Aura, Balances, RuntimeEvent, ChainId,16};17use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping};18use pallet_ethereum::PostLogContent;19use up_common::constants::*;2021pub type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;2223// Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case24// (contract, which only writes a lot of data),25// approximating on top of our real store write weight26parameter_types! {27	pub const WritesPerSecond: u64 = WEIGHT_REF_TIME_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;28	pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;29	pub const WeightTimePerGas: u64 = WEIGHT_REF_TIME_PER_SECOND / GasPerSecond::get();3031	pub const WeightPerGas: Weight = Weight::from_parts(WeightTimePerGas::get(), 0);32}3334/// Limiting EVM execution to 50% of block for substrate users and management tasks35/// EVM transaction consumes more weight than substrate's, so we can't rely on them being36/// scheduled fairly37const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);38parameter_types! {39	pub BlockGasLimit: U256 = U256::from((NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightTimePerGas::get()).ref_time());40	pub PrecompilesValue: UniquePrecompiles<Runtime> = UniquePrecompiles::<_>::new();41}4243pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);44impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F> {45	fn find_author<'a, I>(digests: I) -> Option<H160>46	where47		I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,48	{49		if let Some(author_index) = F::find_author(digests) {50			let authority_id = Aura::authorities()[author_index as usize].clone();51			return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]));52		}53		None54	}55}5657impl pallet_evm::Config for Runtime {58	type CrossAccountId = CrossAccountId;59	type AddressMapping = HashedAddressMapping<Self::Hashing>;60	type BackwardsAddressMapping = HashedAddressMapping<Self::Hashing>;61	type BlockGasLimit = BlockGasLimit;62	type FeeCalculator = pallet_configuration::FeeCalculator<Self>;63	type GasWeightMapping = pallet_evm::FixedGasWeightMapping<Self>;64	type WeightPerGas = WeightPerGas;65	type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;66	type CallOrigin = EnsureAddressTruncated<Self>;67	type WithdrawOrigin = EnsureAddressTruncated<Self>;68	type PrecompilesType = UniquePrecompiles<Self>;69	type PrecompilesValue = PrecompilesValue;70	type Currency = Balances;71	type RuntimeEvent = RuntimeEvent;72	type OnMethodCall = (73		pallet_evm_migration::OnMethodCall<Self>,74		pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,75		CollectionDispatchT<Self>,76		pallet_unique::eth::CollectionHelpersOnMethodCall<Self>,77	);78	type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;79	type ChainId = ChainId;80	type Runner = pallet_evm::runner::stack::Runner<Self>;81	type OnChargeTransaction = pallet_evm::EVMCurrencyAdapter<Balances, DealWithFees>;82	type TransactionValidityHack = pallet_evm_transaction_payment::TransactionValidityHack<Self>;83	type FindAuthor = EthereumFindAuthor<Aura>;84}8586impl pallet_evm_migration::Config for Runtime {87	type RuntimeEvent = RuntimeEvent;88	type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;89}9091parameter_types! {92	pub const PostBlockAndTxnHashes: PostLogContent = PostLogContent::BlockAndTxnHashes;93}9495impl pallet_ethereum::Config for Runtime {96	type RuntimeEvent = RuntimeEvent;97	type StateRoot = pallet_ethereum::IntermediateStateRoot<Self>;98	type PostLogContent = PostBlockAndTxnHashes;99}100101parameter_types! {102	// 0x842899ECF380553E8a4de75bF534cdf6fBF64049103	pub const HelpersContractAddress: H160 = H160([104		0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,105	]);106107	// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f108	pub const EvmCollectionHelpersAddress: H160 = H160([109		0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,110	]);111}112113impl pallet_evm_contract_helpers::Config for Runtime {114	type RuntimeEvent = RuntimeEvent;115	type ContractAddress = HelpersContractAddress;116	type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;117}118119impl pallet_evm_coder_substrate::Config for Runtime {}120121impl pallet_evm_transaction_payment::Config for Runtime {122	type EvmSponsorshipHandler = EvmSponsorshipHandler;123}
modifiedruntime/common/mod.rsdiffbeforeafterboth
--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -27,6 +27,7 @@
 pub mod scheduler;
 
 pub mod sponsoring;
+#[allow(missing_docs)]
 pub mod weights;
 
 #[cfg(test)]
@@ -152,7 +153,7 @@
 	}
 	#[cfg(feature = "runtime-benchmarks")]
 	fn set_block_number(block: Self::BlockNumber) {
-		cumulus_pallet_parachain_system::RelaychainBlockNumberProvider::<T>::set_block_number(block)
+		cumulus_pallet_parachain_system::RelaychainDataProvider::<T>::set_block_number(block)
 	}
 }