difftreelog
fix remove from_ref_time usages
in: master
9 files changed
pallets/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
}
pallets/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,
)))
}
pallets/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),
}
}
}
pallets/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]
pallets/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());
pallets/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,
primitives/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;
runtime/common/config/ethereum.rsdiffbeforeafterboth1use 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}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}runtime/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)
}
}