difftreelog
Fix tx validity check in signed extension
in: master
1 file changed
pallets/nft/src/lib.rsdiffbeforeafterboth29use sp_runtime::sp_std::prelude::Vec;29use sp_runtime::sp_std::prelude::Vec;30use sp_runtime::{30use sp_runtime::{31 traits::{31 traits::{32 DispatchInfoOf, Dispatchable, PostDispatchInfoOf, Saturating, SignedExtension, Zero,32 DispatchInfoOf, Dispatchable, PostDispatchInfoOf, Saturating, SaturatedConversion, SignedExtension, Zero,33 },33 },34 transaction_validity::{34 transaction_validity::{35 InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,35 TransactionPriority, InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,36 },36 },37 FixedPointOperand, FixedU128,37 FixedPointOperand, FixedU128,38};38};2302 <transaction_payment::Module<T>>::compute_fee(len as u32, info, tip)2302 <transaction_payment::Module<T>>::compute_fee(len as u32, info, tip)2303 }2303 }23042305 fn get_priority(len: usize, info: &DispatchInfoOf<T::Call>, final_fee: BalanceOf<T>) -> TransactionPriority {2306 let weight_saturation = T::MaximumBlockWeight::get() / info.weight.max(1);2307 let len_saturation = T::MaximumBlockLength::get() as u64 / (len as u64).max(1);2308 let coefficient: BalanceOf<T> = weight_saturation.min(len_saturation).saturated_into::<BalanceOf<T>>();2309 final_fee.saturating_mul(coefficient).saturated_into::<TransactionPriority>()2310 }230423112305 fn withdraw_fee(2312 fn withdraw_fee(2306 &self,2313 &self,252525322526 fn validate(2533 fn validate(2527 &self,2534 &self,2528 _who: &Self::AccountId,2535 who: &Self::AccountId,2529 _call: &Self::Call,2536 call: &Self::Call,2530 _info: &DispatchInfoOf<Self::Call>,2537 info: &DispatchInfoOf<Self::Call>,2531 _len: usize,2538 len: usize,2532 ) -> TransactionValidity {2539 ) -> TransactionValidity {2540 let (fee, _) = self.withdraw_fee(who, call, info, len)?;2533 Ok(ValidTransaction::default())2541 Ok(ValidTransaction {2542 priority: Self::get_priority(len, info, fee),2543 ..Default::default()2544 })2534 }2545 }253525462536 fn pre_dispatch(2547 fn pre_dispatch(