mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-16 23:41:02 +00:00
Use Saturating Math in XCM (#5845)
* saturating xcm * Even more saturating Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
@@ -417,13 +417,13 @@ pub mod pallet {
|
|||||||
// by the destinations being most sent to.
|
// by the destinations being most sent to.
|
||||||
let mut q = VersionDiscoveryQueue::<T>::take().into_inner();
|
let mut q = VersionDiscoveryQueue::<T>::take().into_inner();
|
||||||
// TODO: correct weights.
|
// TODO: correct weights.
|
||||||
weight_used += T::DbWeight::get().read + T::DbWeight::get().write;
|
weight_used.saturating_accrue(T::DbWeight::get().reads_writes(1, 1));
|
||||||
q.sort_by_key(|i| i.1);
|
q.sort_by_key(|i| i.1);
|
||||||
while let Some((versioned_dest, _)) = q.pop() {
|
while let Some((versioned_dest, _)) = q.pop() {
|
||||||
if let Ok(dest) = MultiLocation::try_from(versioned_dest) {
|
if let Ok(dest) = MultiLocation::try_from(versioned_dest) {
|
||||||
if Self::request_version_notify(dest).is_ok() {
|
if Self::request_version_notify(dest).is_ok() {
|
||||||
// TODO: correct weights.
|
// TODO: correct weights.
|
||||||
weight_used += T::DbWeight::get().read + T::DbWeight::get().write;
|
weight_used.saturating_accrue(T::DbWeight::get().reads_writes(1, 1));
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -490,7 +490,7 @@ pub mod pallet {
|
|||||||
WithdrawAsset(assets),
|
WithdrawAsset(assets),
|
||||||
InitiateTeleport { assets: Wild(All), dest, xcm: Xcm(vec![]) },
|
InitiateTeleport { assets: Wild(All), dest, xcm: Xcm(vec![]) },
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000 + w)
|
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000.saturating_add(w))
|
||||||
},
|
},
|
||||||
_ => Weight::max_value(),
|
_ => Weight::max_value(),
|
||||||
}
|
}
|
||||||
@@ -528,7 +528,7 @@ pub mod pallet {
|
|||||||
let mut message = Xcm(vec![
|
let mut message = Xcm(vec![
|
||||||
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000 + w)
|
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000.saturating_add(w))
|
||||||
},
|
},
|
||||||
_ => Weight::max_value(),
|
_ => Weight::max_value(),
|
||||||
}
|
}
|
||||||
@@ -690,7 +690,7 @@ pub mod pallet {
|
|||||||
let mut message = Xcm(vec![
|
let mut message = Xcm(vec![
|
||||||
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000 + w)
|
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000.saturating_add(w))
|
||||||
},
|
},
|
||||||
_ => Weight::max_value(),
|
_ => Weight::max_value(),
|
||||||
}
|
}
|
||||||
@@ -740,7 +740,7 @@ pub mod pallet {
|
|||||||
WithdrawAsset(assets),
|
WithdrawAsset(assets),
|
||||||
InitiateTeleport { assets: Wild(All), dest, xcm: Xcm(vec![]) },
|
InitiateTeleport { assets: Wild(All), dest, xcm: Xcm(vec![]) },
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000 + w)
|
T::Weigher::weight(&mut message).map_or(Weight::max_value(), |w| 100_000_000.saturating_add(w))
|
||||||
},
|
},
|
||||||
_ => Weight::max_value(),
|
_ => Weight::max_value(),
|
||||||
}
|
}
|
||||||
@@ -889,17 +889,13 @@ pub mod pallet {
|
|||||||
let mut weight_used = 0;
|
let mut weight_used = 0;
|
||||||
|
|
||||||
// TODO: Correct weights for the components of this:
|
// TODO: Correct weights for the components of this:
|
||||||
let todo_sv_migrate_weight: Weight = T::DbWeight::get().read + T::DbWeight::get().write;
|
let todo_sv_migrate_weight: Weight = T::DbWeight::get().reads_writes(1, 1);
|
||||||
let todo_vn_migrate_weight: Weight = T::DbWeight::get().read + T::DbWeight::get().write;
|
let todo_vn_migrate_weight: Weight = T::DbWeight::get().reads_writes(1, 1);
|
||||||
let todo_vnt_already_notified_weight: Weight = T::DbWeight::get().read;
|
let todo_vnt_already_notified_weight: Weight = T::DbWeight::get().read;
|
||||||
let todo_vnt_notify_weight: Weight =
|
let todo_vnt_notify_weight: Weight = T::DbWeight::get().reads_writes(1, 3);
|
||||||
T::DbWeight::get().read + T::DbWeight::get().write * 3;
|
let todo_vnt_migrate_weight: Weight = T::DbWeight::get().reads_writes(1, 1);
|
||||||
let todo_vnt_migrate_weight: Weight =
|
let todo_vnt_migrate_fail_weight: Weight = T::DbWeight::get().reads_writes(1, 1);
|
||||||
T::DbWeight::get().read + T::DbWeight::get().write;
|
let todo_vnt_notify_migrate_weight: Weight = T::DbWeight::get().reads_writes(1, 3);
|
||||||
let todo_vnt_migrate_fail_weight: Weight =
|
|
||||||
T::DbWeight::get().read + T::DbWeight::get().write;
|
|
||||||
let todo_vnt_notify_migrate_weight: Weight =
|
|
||||||
T::DbWeight::get().read + T::DbWeight::get().write * 3;
|
|
||||||
|
|
||||||
use VersionMigrationStage::*;
|
use VersionMigrationStage::*;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user