mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 09:17:58 +00:00
Ensure correct variant count in Runtime[Hold/Freeze]Reason (#1900)
closes https://github.com/paritytech/polkadot-sdk/issues/1882 ## Breaking Changes This PR introduces a new item to `pallet_balances::Config`: ```diff trait Config { ++ type RuntimeFreezeReasons; } ``` This value is only used to check it against `type MaxFreeze`. A similar check has been added for `MaxHolds` against `RuntimeHoldReasons`, which is already given to `pallet_balances`. In all contexts, you should pass the real `RuntimeFreezeReasons` generated by `construct_runtime` to `type RuntimeFreezeReasons`. Passing `()` would also work, but it would imply that the runtime uses no freezes at all. --------- 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:
@@ -46,6 +46,7 @@ pub fn expand_outer_freeze_reason(pallet_decls: &[Pallet], scrate: &TokenStream)
|
||||
));
|
||||
}
|
||||
}
|
||||
let freeze_reason_variants_count = freeze_reason_variants.len() as u32;
|
||||
|
||||
quote! {
|
||||
/// A reason for placing a freeze on funds.
|
||||
@@ -59,6 +60,10 @@ pub fn expand_outer_freeze_reason(pallet_decls: &[Pallet], scrate: &TokenStream)
|
||||
#( #freeze_reason_variants )*
|
||||
}
|
||||
|
||||
impl #scrate::traits::VariantCount for RuntimeFreezeReason {
|
||||
const VARIANT_COUNT: u32 = #freeze_reason_variants_count;
|
||||
}
|
||||
|
||||
#( #conversion_fns )*
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ pub fn expand_outer_hold_reason(pallet_decls: &[Pallet], scrate: &TokenStream) -
|
||||
));
|
||||
}
|
||||
}
|
||||
let hold_reason_variants_count = hold_reason_variants.len() as u32;
|
||||
|
||||
quote! {
|
||||
/// A reason for placing a hold on funds.
|
||||
@@ -59,6 +60,10 @@ pub fn expand_outer_hold_reason(pallet_decls: &[Pallet], scrate: &TokenStream) -
|
||||
#( #hold_reason_variants )*
|
||||
}
|
||||
|
||||
impl #scrate::traits::VariantCount for RuntimeHoldReason {
|
||||
const VARIANT_COUNT: u32 = #hold_reason_variants_count;
|
||||
}
|
||||
|
||||
#( #conversion_fns )*
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user