RefundRelayerForMessagesFromParachain improvements (#1895)

* RefundRelayerForMessagesFromParachain changes

- some renamings and cosmetics
- removing the GI generic param since we can get it from the parachains
  config
- merging (Parachains Instance, Parachain Id) and (Messages Instance,
  Messages lane Id) generic params
- removing unnecessay derives
- renaming for the `TransactionFeeCalculation` and defining
  `ActualFeeRefund` concrete implementation
- adding support for multiple RefundRelayerForMessagesFromParachain
  (by adding a `StaticStrProvider` generic param)

* Revert to using RuntimeDebug
This commit is contained in:
Serban Iorga
2023-02-20 16:36:13 +02:00
committed by Bastian Köcher
parent 1d6e8a9a26
commit 623bd85a5e
6 changed files with 247 additions and 169 deletions
+24
View File
@@ -507,6 +507,24 @@ impl WeightExtraOps for Weight {
}
}
/// Trait that provides a static `str`.
pub trait StaticStrProvider {
const STR: &'static str;
}
#[macro_export]
macro_rules! generate_static_str_provider {
($str:expr) => {
$crate::paste::item! {
pub struct [<Str $str>];
impl $crate::StaticStrProvider for [<Str $str>] {
const STR: &'static str = stringify!($str);
}
}
};
}
#[cfg(test)]
mod tests {
use super::*;
@@ -531,4 +549,10 @@ mod tests {
),
);
}
#[test]
fn generate_static_str_provider_works() {
generate_static_str_provider!(Test);
assert_eq!(StrTest::STR, "Test");
}
}