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.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! Contract execution related types1819#[cfg(not(feature = "std"))]20use alloc::string::{String, ToString};21#[cfg(feature = "std")]22use std::string::{String, ToString};2324use evm_coder::ERC165Call;25use evm_core::{ExitError, ExitFatal};2627pub use frame_support::weights::Weight;28pub use evm_coder_substrate_procedural::PreDispatch;2930/// Execution error, should be convertible between EVM and Substrate.31#[derive(Debug, Clone)]32pub enum Error {33 /// Non-fatal contract error occured34 Revert(String),35 /// EVM fatal error36 Fatal(ExitFatal),37 /// EVM normal error38 Error(ExitError),39}4041impl<E> From<E> for Error42where43 E: ToString,44{45 fn from(e: E) -> Self {46 Self::Revert(e.to_string())47 }48}4950/// To be used in [`crate::solidity_interface`] implementation.51pub type Result<T> = core::result::Result<T, Error>;52/// Return type of items in [`crate::solidity_interface`] definition53pub type ResultWithPostInfo<T> =54 core::result::Result<WithPostDispatchInfo<T>, WithPostDispatchInfo<Error>>;5556pub trait PreDispatch {57 fn dispatch_info(&self) -> DispatchInfo;58}5960impl PreDispatch for ERC165Call {61 fn dispatch_info(&self) -> DispatchInfo {62 DispatchInfo {63 // ERC165 impl should be cheap64 weight: Weight::from_ref_time(200),65 }66 }67}6869/// Static information collected from [`crate::weight`].70pub struct DispatchInfo {71 /// Statically predicted call weight72 pub weight: Weight,73}7475impl From<Weight> for DispatchInfo {76 fn from(weight: Weight) -> Self {77 Self { weight }78 }79}80impl From<u64> for DispatchInfo {81 fn from(weight: u64) -> Self {82 Self {83 weight: Weight::from_ref_time(weight),84 }85 }86}87impl From<()> for DispatchInfo {88 fn from(_: ()) -> Self {89 Self {90 weight: Weight::zero(),91 }92 }93}9495/// Weight information that is only available post dispatch.96/// Note: This can only be used to reduce the weight or fee, not increase it.97#[derive(Default, Clone)]98pub struct PostDispatchInfo {99 /// Actual weight consumed by call100 pub actual_weight: Option<Weight>,101}102103impl PostDispatchInfo {104 /// Calculate amount to be returned back to user105 pub fn calc_unspent(&self, info: &DispatchInfo) -> Weight {106 info.weight - self.calc_actual_weight(info)107 }108109 /// Calculate actual consumed weight, saturating to weight reported110 /// pre-dispatch111 pub fn calc_actual_weight(&self, info: &DispatchInfo) -> Weight {112 if let Some(actual_weight) = self.actual_weight {113 actual_weight.min(info.weight)114 } else {115 info.weight116 }117 }118}119120/// Wrapper for PostDispatchInfo and any user-provided data121#[derive(Clone)]122pub struct WithPostDispatchInfo<T> {123 /// User provided data124 pub data: T,125 /// Info known after dispatch126 pub post_info: PostDispatchInfo,127}128129impl<T> From<T> for WithPostDispatchInfo<T> {130 fn from(data: T) -> Self {131 Self {132 data,133 post_info: Default::default(),134 }135 }136}137#[allow(clippy::crate_in_macro_def)]138#[macro_export]139macro_rules! frontier_contract {140 (141 macro_rules! $res:ident {...}142 impl$(<$($gen:ident $(: $($(+)? $bound:ty)*)?),+ $(,)?>)? Contract for $ty:ty {...}143 ) => {144 /// Generate macro to convert function return value into Contract result145 macro_rules! $res {146 ($i:expr) => {{147 pallet_evm_coder_substrate::spez! {148 for res = $i;149 match<T> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> -> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> {150 res151 }152 match<T> ::pallet_evm_coder_substrate::execution::Result<T> -> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> {153 res154 .map(pallet_evm_coder_substrate::execution::WithPostDispatchInfo::from)155 .map_err(pallet_evm_coder_substrate::execution::WithPostDispatchInfo::from)156 }157 match<T> T -> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> {158 Ok(pallet_evm_coder_substrate::execution::WithPostDispatchInfo::from(res))159 }160 }161 }};162 }163 impl $(<$($gen),+>)? $crate::Contract for $ty where T: crate::Config {164 type Error = ::pallet_evm_coder_substrate::execution::Error;165 type WithPostInfo<R> = ::pallet_evm_coder_substrate::execution::WithPostDispatchInfo<R>;166 type Result<R, E> = core::result::Result<R, E>;167 fn map_post<I, O>(168 v: Self::WithPostInfo<I>,169 mapper: impl FnOnce(I) -> O,170 ) -> Self::WithPostInfo<O> {171 ::pallet_evm_coder_substrate::execution::WithPostDispatchInfo {172 data: mapper(v.data),173 post_info: v.post_info,174 }175 }176 fn with_default_post<V>(v: V) -> Self::WithPostInfo<V> {177 ::pallet_evm_coder_substrate::execution::WithPostDispatchInfo {178 data: v,179 post_info: ::pallet_evm_coder_substrate::execution::PostDispatchInfo {180 actual_weight: None,181 },182 }183 }184 }185 };186}1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! Contract execution related types1819#[cfg(not(feature = "std"))]20use alloc::string::{String, ToString};21#[cfg(feature = "std")]22use std::string::{String, ToString};2324use evm_coder::ERC165Call;25use evm_core::{ExitError, ExitFatal};2627pub use frame_support::weights::Weight;28pub use evm_coder_substrate_procedural::PreDispatch;2930/// Execution error, should be convertible between EVM and Substrate.31#[derive(Debug, Clone)]32pub enum Error {33 /// Non-fatal contract error occured34 Revert(String),35 /// EVM fatal error36 Fatal(ExitFatal),37 /// EVM normal error38 Error(ExitError),39}4041impl<E> From<E> for Error42where43 E: ToString,44{45 fn from(e: E) -> Self {46 Self::Revert(e.to_string())47 }48}4950/// To be used in [`crate::solidity_interface`] implementation.51pub type Result<T> = core::result::Result<T, Error>;52/// Return type of items in [`crate::solidity_interface`] definition53pub type ResultWithPostInfo<T> =54 core::result::Result<WithPostDispatchInfo<T>, WithPostDispatchInfo<Error>>;5556pub trait PreDispatch {57 fn dispatch_info(&self) -> DispatchInfo;58}5960impl PreDispatch for ERC165Call {61 fn dispatch_info(&self) -> DispatchInfo {62 DispatchInfo {63 // ERC165 impl should be cheap64 weight: Weight::from_parts(200, 0),65 }66 }67}6869/// Static information collected from [`crate::weight`].70pub struct DispatchInfo {71 /// Statically predicted call weight72 pub weight: Weight,73}7475impl From<Weight> for DispatchInfo {76 fn from(weight: Weight) -> Self {77 Self { weight }78 }79}80// TODO: use 2-dimensional weight after frontier upgrade81impl From<u64> for DispatchInfo {82 fn from(weight: u64) -> Self {83 Self {84 weight: Weight::from_parts(weight, 0),85 }86 }87}88impl From<()> for DispatchInfo {89 fn from(_: ()) -> Self {90 Self {91 weight: Weight::zero(),92 }93 }94}9596/// Weight information that is only available post dispatch.97/// Note: This can only be used to reduce the weight or fee, not increase it.98#[derive(Default, Clone)]99pub struct PostDispatchInfo {100 /// Actual weight consumed by call101 pub actual_weight: Option<Weight>,102}103104impl PostDispatchInfo {105 /// Calculate amount to be returned back to user106 pub fn calc_unspent(&self, info: &DispatchInfo) -> Weight {107 info.weight - self.calc_actual_weight(info)108 }109110 /// Calculate actual consumed weight, saturating to weight reported111 /// pre-dispatch112 pub fn calc_actual_weight(&self, info: &DispatchInfo) -> Weight {113 if let Some(actual_weight) = self.actual_weight {114 actual_weight.min(info.weight)115 } else {116 info.weight117 }118 }119}120121/// Wrapper for PostDispatchInfo and any user-provided data122#[derive(Clone)]123pub struct WithPostDispatchInfo<T> {124 /// User provided data125 pub data: T,126 /// Info known after dispatch127 pub post_info: PostDispatchInfo,128}129130impl<T> From<T> for WithPostDispatchInfo<T> {131 fn from(data: T) -> Self {132 Self {133 data,134 post_info: Default::default(),135 }136 }137}138#[allow(clippy::crate_in_macro_def)]139#[macro_export]140macro_rules! frontier_contract {141 (142 macro_rules! $res:ident {...}143 impl$(<$($gen:ident $(: $($(+)? $bound:ty)*)?),+ $(,)?>)? Contract for $ty:ty {...}144 ) => {145 /// Generate macro to convert function return value into Contract result146 macro_rules! $res {147 ($i:expr) => {{148 pallet_evm_coder_substrate::spez! {149 for res = $i;150 match<T> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> -> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> {151 res152 }153 match<T> ::pallet_evm_coder_substrate::execution::Result<T> -> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> {154 res155 .map(pallet_evm_coder_substrate::execution::WithPostDispatchInfo::from)156 .map_err(pallet_evm_coder_substrate::execution::WithPostDispatchInfo::from)157 }158 match<T> T -> ::pallet_evm_coder_substrate::execution::ResultWithPostInfo<T> {159 Ok(pallet_evm_coder_substrate::execution::WithPostDispatchInfo::from(res))160 }161 }162 }};163 }164 impl $(<$($gen),+>)? $crate::Contract for $ty where T: crate::Config {165 type Error = ::pallet_evm_coder_substrate::execution::Error;166 type WithPostInfo<R> = ::pallet_evm_coder_substrate::execution::WithPostDispatchInfo<R>;167 type Result<R, E> = core::result::Result<R, E>;168 fn map_post<I, O>(169 v: Self::WithPostInfo<I>,170 mapper: impl FnOnce(I) -> O,171 ) -> Self::WithPostInfo<O> {172 ::pallet_evm_coder_substrate::execution::WithPostDispatchInfo {173 data: mapper(v.data),174 post_info: v.post_info,175 }176 }177 fn with_default_post<V>(v: V) -> Self::WithPostInfo<V> {178 ::pallet_evm_coder_substrate::execution::WithPostDispatchInfo {179 data: v,180 post_info: ::pallet_evm_coder_substrate::execution::PostDispatchInfo {181 actual_weight: None,182 },183 }184 }185 }186 };187}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.rsdiffbeforeafterboth--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -28,7 +28,7 @@
pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;
pub const WeightTimePerGas: u64 = WEIGHT_REF_TIME_PER_SECOND / GasPerSecond::get();
- pub const WeightPerGas: Weight = Weight::from_ref_time(WeightTimePerGas::get());
+ pub const WeightPerGas: Weight = Weight::from_parts(WeightTimePerGas::get(), 0);
}
/// Limiting EVM execution to 50% of block for substrate users and management tasks
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)
}
}