mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-07 04:58:01 +00:00
Fix use of weight limit errors (#4358)
This commit is contained in:
@@ -56,12 +56,12 @@ pub enum Error {
|
||||
/// An asset wildcard was passed where it was not expected (e.g. as the asset to withdraw in a
|
||||
/// `WithdrawAsset` XCM).
|
||||
Wildcard,
|
||||
/// The case where an XCM message has specified a optional weight limit and the weight required for
|
||||
/// processing is too great.
|
||||
/// The case where an XCM message has specified a weight limit on an interior call and this
|
||||
/// limit is too low.
|
||||
///
|
||||
/// Used by:
|
||||
/// - `Transact`
|
||||
TooMuchWeightRequired,
|
||||
MaxWeightInvalid,
|
||||
/// The fees specified by the XCM message were not found in the holding account.
|
||||
///
|
||||
/// Used by:
|
||||
|
||||
@@ -57,12 +57,12 @@ pub enum Error {
|
||||
/// An asset wildcard was passed where it was not expected (e.g. as the asset to withdraw in a
|
||||
/// `WithdrawAsset` XCM).
|
||||
Wildcard,
|
||||
/// The case where an XCM message has specified a optional weight limit and the weight required for
|
||||
/// processing is too great.
|
||||
/// The case where an XCM message has specified a weight limit on an interior call and this
|
||||
/// limit is too low.
|
||||
///
|
||||
/// Used by:
|
||||
/// - `Transact`
|
||||
TooMuchWeightRequired,
|
||||
MaxWeightInvalid,
|
||||
/// The fees specified by the XCM message were not found in the holding register.
|
||||
///
|
||||
/// Used by:
|
||||
|
||||
@@ -82,7 +82,7 @@ pub enum Error {
|
||||
FailedToDecode,
|
||||
/// Used by `Transact` to indicate that the given weight limit could be breached by the functor.
|
||||
#[codec(index = 18)]
|
||||
TooMuchWeightRequired,
|
||||
MaxWeightInvalid,
|
||||
/// Used by `BuyExecution` when the Holding Register does not contain payable fees.
|
||||
#[codec(index = 19)]
|
||||
NotHoldingFees,
|
||||
|
||||
@@ -598,7 +598,7 @@ fn transacting_should_respect_max_weight_requirement() {
|
||||
}]);
|
||||
let weight_limit = 60;
|
||||
let r = XcmExecutor::<TestConfig>::execute_xcm(Parent, message, weight_limit);
|
||||
assert_eq!(r, Outcome::Incomplete(50, XcmError::TooMuchWeightRequired));
|
||||
assert_eq!(r, Outcome::Incomplete(50, XcmError::MaxWeightInvalid));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@@ -344,7 +344,7 @@ impl<Config: config::Config> XcmExecutor<Config> {
|
||||
let dispatch_origin = Config::OriginConverter::convert_origin(origin, origin_type)
|
||||
.map_err(|_| XcmError::BadOrigin)?;
|
||||
let weight = message_call.get_dispatch_info().weight;
|
||||
ensure!(weight <= require_weight_at_most, XcmError::TooMuchWeightRequired);
|
||||
ensure!(weight <= require_weight_at_most, XcmError::MaxWeightInvalid);
|
||||
let actual_weight = match message_call.dispatch(dispatch_origin) {
|
||||
Ok(post_info) => post_info.actual_weight,
|
||||
Err(error_and_info) => {
|
||||
|
||||
Reference in New Issue
Block a user