Contracts: Tweak test (#14579)

This commit is contained in:
PG Herveou
2023-07-20 18:43:35 +02:00
committed by GitHub
parent 0b2e7d4df5
commit 99ad485101
2 changed files with 13 additions and 7 deletions
+4 -1
View File
@@ -3019,7 +3019,10 @@ fn gas_estimation_call_runtime() {
// Call something trivial with a huge gas limit so that we can observe the effects
// of pre-charging. This should create a difference between consumed and required.
let call = RuntimeCall::Dummy(pallet_dummy::Call::overestimate_pre_charge {});
let call = RuntimeCall::Dummy(pallet_dummy::Call::overestimate_pre_charge {
pre_charge: Weight::from_parts(10_000_000, 0),
actual_weight: Weight::from_parts(100, 0),
});
let result = Contracts::bare_call(
ALICE,
addr_caller.clone(),
@@ -4,6 +4,7 @@ pub use pallet::*;
pub mod pallet {
use frame_support::{
dispatch::{Pays, PostDispatchInfo},
ensure,
pallet_prelude::DispatchResultWithPostInfo,
weights::Weight,
};
@@ -21,13 +22,15 @@ pub mod pallet {
/// values of [`ContractResult::gas_consumed`] and [`ContractResult::gas_required`] in
/// tests.
#[pallet::call_index(1)]
#[pallet::weight(Weight::from_parts(10_000_000, 0))]
pub fn overestimate_pre_charge(origin: OriginFor<T>) -> DispatchResultWithPostInfo {
#[pallet::weight(*pre_charge)]
pub fn overestimate_pre_charge(
origin: OriginFor<T>,
pre_charge: Weight,
actual_weight: Weight,
) -> DispatchResultWithPostInfo {
ensure_signed(origin)?;
Ok(PostDispatchInfo {
actual_weight: Some(Weight::from_parts(100, 0)),
pays_fee: Pays::Yes,
})
ensure!(pre_charge.any_gt(actual_weight), "pre_charge must be > actual_weight");
Ok(PostDispatchInfo { actual_weight: Some(actual_weight), pays_fee: Pays::Yes })
}
}
}