From 13ab4150524c95d9ca74f5f87ebe3aa30a27a72a Mon Sep 17 00:00:00 2001 From: bgallois <benjamin@gallois.cc> Date: Wed, 31 May 2023 23:12:16 +0200 Subject: [PATCH] workaround pallet_duniter_account Workaround to be able to pass https://github.com/paritytech/substrate/blob/6ef184e33f6ce0f56999ae84b212ea6148c0624d/frame/balances/src/benchmarking.rs#L271 in the benchmark. ExtraFlags is private and Default is always new_logic not suitable for the benchmark. --- pallets/duniter-account/src/types.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pallets/duniter-account/src/types.rs b/pallets/duniter-account/src/types.rs index d967ddad5..6632b18b9 100644 --- a/pallets/duniter-account/src/types.rs +++ b/pallets/duniter-account/src/types.rs @@ -32,13 +32,17 @@ pub struct AccountData<Balance> { pub(super) reserved: Balance, // see Substrate AccountData fee_frozen: Balance, + // Workaround because ExtraFlags is not public + // Refactoration is needed + flag: pallet_balances::AccountData<Balance>, } -impl<Balance: Zero> AccountData<Balance> { +impl<Balance: Zero + Clone> AccountData<Balance> { pub fn set_balances(&mut self, new_balances: pallet_balances::AccountData<Balance>) { - self.free = new_balances.free; - self.reserved = new_balances.reserved; - self.fee_frozen = new_balances.frozen; + self.free = new_balances.free.clone(); + self.reserved = new_balances.reserved.clone(); + self.fee_frozen = new_balances.frozen.clone(); + self.flag = new_balances; } pub fn was_providing(&self) -> bool { !self.free.is_zero() || !self.reserved.is_zero() @@ -53,7 +57,7 @@ impl<Balance: Zero + sp_std::default::Default> From<AccountData<Balance>> free: account_data.free, reserved: account_data.reserved, frozen: account_data.fee_frozen, - ..Default::default() + flags: account_data.flag.flags, } } } -- GitLab