Unverified Commit 49bb2268 authored by Gavin Wood's avatar Gavin Wood Committed by GitHub
Browse files

Fix use of weight limit errors (#4358)

parent f9358cc4
Pipeline #167763 passed with stages
in 44 minutes and 42 seconds
......@@ -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) => {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment