diff --git a/substrate/bin/node-template/runtime/src/lib.rs b/substrate/bin/node-template/runtime/src/lib.rs index 49346fbdd77dae8c0696eb2dbe92c343d644211f..b32ea0d958100a2eafa2e40f62d76a939bc30d42 100644 --- a/substrate/bin/node-template/runtime/src/lib.rs +++ b/substrate/bin/node-template/runtime/src/lib.rs @@ -245,7 +245,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs index 4bab2528ae2f784873630d7822faa8685f0a7be5..21645c5aa7dcdee900b143aee9f44185e2fe11b5 100644 --- a/substrate/bin/node/runtime/src/lib.rs +++ b/substrate/bin/node/runtime/src/lib.rs @@ -59,7 +59,6 @@ use pallet_nis::WithMaximumOf; use pallet_session::historical as pallet_session_historical; pub use pallet_transaction_payment::{CurrencyAdapter, Multiplier, TargetedFeeAdjustment}; use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; -use scale_info::TypeInfo; use sp_api::impl_runtime_apis; use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId; use sp_consensus_grandpa::AuthorityId as GrandpaId; @@ -439,17 +438,6 @@ parameter_types! { pub const MaxReserves: u32 = 50; } -/// A reason for placing a hold on funds. -#[derive( - Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, MaxEncodedLen, Debug, TypeInfo, -)] -pub enum HoldReason { - /// The NIS Pallet has reserved it for a non-fungible receipt. - Nis, - /// Used by the NFT Fractionalization Pallet. - NftFractionalization, -} - impl pallet_balances::Config for Runtime { type MaxLocks = MaxLocks; type MaxReserves = MaxReserves; @@ -462,7 +450,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = HoldReason; + type RuntimeHoldReason = RuntimeHoldReason; type MaxHolds = ConstU32<2>; } @@ -1520,7 +1508,6 @@ parameter_types! { pub const ThawThrottle: (Perquintill, BlockNumber) = (Perquintill::from_percent(25), 5); pub Target: Perquintill = Perquintill::zero(); pub const NisPalletId: PalletId = PalletId(*b"py/nis "); - pub const NisHoldReason: HoldReason = HoldReason::Nis; } impl pallet_nis::Config for Runtime { @@ -1544,7 +1531,7 @@ impl pallet_nis::Config for Runtime { type IntakePeriod = IntakePeriod; type MaxIntakeWeight = MaxIntakeWeight; type ThawThrottle = ThawThrottle; - type HoldReason = NisHoldReason; + type RuntimeHoldReason = RuntimeHoldReason; } parameter_types! { @@ -1618,7 +1605,6 @@ parameter_types! { pub const NftFractionalizationPalletId: PalletId = PalletId(*b"fraction"); pub NewAssetSymbol: BoundedVec<u8, StringLimit> = (*b"FRAC").to_vec().try_into().unwrap(); pub NewAssetName: BoundedVec<u8, StringLimit> = (*b"Frac").to_vec().try_into().unwrap(); - pub const NftFractionalizationHoldReason: HoldReason = HoldReason::NftFractionalization; } impl pallet_nft_fractionalization::Config for Runtime { @@ -1636,7 +1622,7 @@ impl pallet_nft_fractionalization::Config for Runtime { type Nfts = Nfts; type PalletId = NftFractionalizationPalletId; type WeightInfo = pallet_nft_fractionalization::weights::SubstrateWeight<Runtime>; - type HoldReason = NftFractionalizationHoldReason; + type RuntimeHoldReason = RuntimeHoldReason; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); } diff --git a/substrate/client/executor/benches/bench.rs b/substrate/client/executor/benches/bench.rs index 38ae58adb615b951edba67dda5170c34cf5fd36d..66a82a175221d6a9aa229c5a593f3531f80f656f 100644 --- a/substrate/client/executor/benches/bench.rs +++ b/substrate/client/executor/benches/bench.rs @@ -25,7 +25,6 @@ use sc_executor_common::{ }; use sc_executor_wasmtime::InstantiationStrategy; use sc_runtime_test::wasm_binary_unwrap as test_runtime; -use sp_wasm_interface::HostFunctions as _; use std::sync::{ atomic::{AtomicBool, AtomicUsize, Ordering}, Arc, diff --git a/substrate/frame/alliance/src/mock.rs b/substrate/frame/alliance/src/mock.rs index c334a3943b025653a3657ee0ef17da88f9bfd064..8513364c3ce0a1a41d187c4768ada8656354e56a 100644 --- a/substrate/frame/alliance/src/mock.rs +++ b/substrate/frame/alliance/src/mock.rs @@ -89,7 +89,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/asset-rate/src/mock.rs b/substrate/frame/asset-rate/src/mock.rs index 9775b7a7479268ed3343ab152e6d1e38d3ab12f2..2d90fcfecd79e94620f8e6f93a5c396a190f825d 100644 --- a/substrate/frame/asset-rate/src/mock.rs +++ b/substrate/frame/asset-rate/src/mock.rs @@ -77,7 +77,7 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type HoldIdentifier = (); + type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); type MaxHolds = (); type MaxFreezes = (); diff --git a/substrate/frame/assets/src/mock.rs b/substrate/frame/assets/src/mock.rs index 3926d2fa8b010be9ba1394eec9c77eb71618e66d..09d2bd229608829d46694ee549616b4018405e9d 100644 --- a/substrate/frame/assets/src/mock.rs +++ b/substrate/frame/assets/src/mock.rs @@ -87,7 +87,7 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type HoldIdentifier = (); + type RuntimeHoldReason = (); type FreezeIdentifier = (); type MaxHolds = (); type MaxFreezes = (); diff --git a/substrate/frame/atomic-swap/src/tests.rs b/substrate/frame/atomic-swap/src/tests.rs index 7437d62a99c956e5fb2404109faf77e3d43d1aad..53ccd64bb273108fb264192e046c2a23e0f22323 100644 --- a/substrate/frame/atomic-swap/src/tests.rs +++ b/substrate/frame/atomic-swap/src/tests.rs @@ -64,7 +64,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/babe/src/mock.rs b/substrate/frame/babe/src/mock.rs index 4278fa4596a9642d7d487bc9a95b2e773b733782..c0ccc9a8acd326af391eb86db519f246c4e802a7 100644 --- a/substrate/frame/babe/src/mock.rs +++ b/substrate/frame/babe/src/mock.rs @@ -145,7 +145,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/balances/src/impl_fungible.rs b/substrate/frame/balances/src/impl_fungible.rs index f8f8fe17ae0eff34fe6b22fe268c6949f83cb8c4..03c40bb3a8401608c4c9ded644f984df962c0082 100644 --- a/substrate/frame/balances/src/impl_fungible.rs +++ b/substrate/frame/balances/src/impl_fungible.rs @@ -207,7 +207,7 @@ impl<T: Config<I>, I: 'static> fungible::Mutate<T::AccountId> for Pallet<T, I> { impl<T: Config<I>, I: 'static> fungible::MutateHold<T::AccountId> for Pallet<T, I> {} impl<T: Config<I>, I: 'static> fungible::InspectHold<T::AccountId> for Pallet<T, I> { - type Reason = T::HoldIdentifier; + type Reason = T::RuntimeHoldReason; fn total_balance_on_hold(who: &T::AccountId) -> T::Balance { Self::account(who).reserved diff --git a/substrate/frame/balances/src/lib.rs b/substrate/frame/balances/src/lib.rs index 7ed725a77df0caa8d60ce8e521346ed66716047d..8d68f693b24d575ac2b47d36268ffe209dd0ef52 100644 --- a/substrate/frame/balances/src/lib.rs +++ b/substrate/frame/balances/src/lib.rs @@ -257,8 +257,8 @@ pub mod pallet { /// Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/` type ReserveIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy; - /// The ID type for holds. - type HoldIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy; + /// The overarching hold reason. + type RuntimeHoldReason: Parameter + Member + MaxEncodedLen + Ord + Copy; /// The ID type for freezes. type FreezeIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy; @@ -437,7 +437,7 @@ pub mod pallet { _, Blake2_128Concat, T::AccountId, - BoundedVec<IdAmount<T::HoldIdentifier, T::Balance>, T::MaxHolds>, + BoundedVec<IdAmount<T::RuntimeHoldReason, T::Balance>, T::MaxHolds>, ValueQuery, >; diff --git a/substrate/frame/balances/src/tests/mod.rs b/substrate/frame/balances/src/tests/mod.rs index 4731dbf8ed32b9f4ee77536970088e1f1d364a62..6deb9885b79e5cf1dd4b2602b4edef8d8e828e9c 100644 --- a/substrate/frame/balances/src/tests/mod.rs +++ b/substrate/frame/balances/src/tests/mod.rs @@ -137,7 +137,7 @@ impl Config for Test { type MaxReserves = ConstU32<2>; type ReserveIdentifier = TestId; type WeightInfo = (); - type HoldIdentifier = TestId; + type RuntimeHoldReason = TestId; type FreezeIdentifier = TestId; type MaxFreezes = ConstU32<2>; type MaxHolds = ConstU32<2>; diff --git a/substrate/frame/beefy/src/mock.rs b/substrate/frame/beefy/src/mock.rs index 6b6ffd6751fbe7a933a3f71ff24a2416ef79a066..7edf4d339758cf8ad7bd0792fbbd066d8c893079 100644 --- a/substrate/frame/beefy/src/mock.rs +++ b/substrate/frame/beefy/src/mock.rs @@ -161,7 +161,7 @@ impl pallet_balances::Config for Test { type ExistentialDeposit = ConstU128<1>; type AccountStore = System; type WeightInfo = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); type FreezeIdentifier = (); type MaxFreezes = (); diff --git a/substrate/frame/bounties/src/tests.rs b/substrate/frame/bounties/src/tests.rs index ef3da7564874e9e67adb2c2f57d7a6857d445913..fd5020dead446fa080d99eb0b555b14e84677685 100644 --- a/substrate/frame/bounties/src/tests.rs +++ b/substrate/frame/bounties/src/tests.rs @@ -102,7 +102,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } parameter_types! { diff --git a/substrate/frame/child-bounties/src/tests.rs b/substrate/frame/child-bounties/src/tests.rs index a936312aec86884da86e450af50b7469ad0046ce..a8f0e16ea213622130e40f637880e804956ca15b 100644 --- a/substrate/frame/child-bounties/src/tests.rs +++ b/substrate/frame/child-bounties/src/tests.rs @@ -105,7 +105,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } parameter_types! { diff --git a/substrate/frame/contracts/src/tests.rs b/substrate/frame/contracts/src/tests.rs index c32999d0ade3a5d4e30ef40bec7c12dab63ca8da..ed754b5908f5274dea9539006311bab22ab76566 100644 --- a/substrate/frame/contracts/src/tests.rs +++ b/substrate/frame/contracts/src/tests.rs @@ -322,7 +322,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/conviction-voting/src/tests.rs b/substrate/frame/conviction-voting/src/tests.rs index f33e511a164f6327a7dda228b1245ca5c6927dbf..1ea3a56adacb7157d74f0bf950dcc25884c62a65 100644 --- a/substrate/frame/conviction-voting/src/tests.rs +++ b/substrate/frame/conviction-voting/src/tests.rs @@ -94,7 +94,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/democracy/src/tests.rs b/substrate/frame/democracy/src/tests.rs index 06fde5129c6d03c606e602a7a633ba58afd0dd5a..dd726004648efbb06f0a2cafacc90cedc2e95ff1 100644 --- a/substrate/frame/democracy/src/tests.rs +++ b/substrate/frame/democracy/src/tests.rs @@ -146,7 +146,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } parameter_types! { diff --git a/substrate/frame/election-provider-multi-phase/src/mock.rs b/substrate/frame/election-provider-multi-phase/src/mock.rs index 732a650ce6db1663e3ac5e64823b723c9cf68065..cf797aea845f40d8466a1d18f9f76cd86aa78ff7 100644 --- a/substrate/frame/election-provider-multi-phase/src/mock.rs +++ b/substrate/frame/election-provider-multi-phase/src/mock.rs @@ -256,7 +256,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs b/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs index 490179e91ddda3bb1c765fe30d38c270bae932df..da7ccf6dce9ce2fd4afe52d06677f68c0e85a60d 100644 --- a/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs +++ b/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs @@ -126,7 +126,7 @@ impl pallet_balances::Config for Runtime { type AccountStore = System; type MaxHolds = ConstU32<1>; type MaxFreezes = traits::ConstU32<1>; - type HoldIdentifier = (); + type RuntimeHoldReason = RuntimeHoldReason; type FreezeIdentifier = (); type WeightInfo = (); } diff --git a/substrate/frame/elections-phragmen/src/lib.rs b/substrate/frame/elections-phragmen/src/lib.rs index 33a8634cb3bc93c8e2a6595aeebe2d0fb4b120f0..08ef4e8db9a033fb6b71876d378ac1058c4096c9 100644 --- a/substrate/frame/elections-phragmen/src/lib.rs +++ b/substrate/frame/elections-phragmen/src/lib.rs @@ -1352,7 +1352,7 @@ mod tests { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/examples/basic/src/tests.rs b/substrate/frame/examples/basic/src/tests.rs index 1d9cf81a5074ce99983fd7e63361bcbd11f1077e..3b12c3bdd72351fad81c4245a6df8ce093e6cb6f 100644 --- a/substrate/frame/examples/basic/src/tests.rs +++ b/substrate/frame/examples/basic/src/tests.rs @@ -89,7 +89,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/examples/dev-mode/src/tests.rs b/substrate/frame/examples/dev-mode/src/tests.rs index e2f06ddda6cd760a96bf60872367c0a2b56d4787..6b18b4183eab70987ba9896f88dbba25909e8950 100644 --- a/substrate/frame/examples/dev-mode/src/tests.rs +++ b/substrate/frame/examples/dev-mode/src/tests.rs @@ -83,7 +83,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = RuntimeHoldReason; type MaxHolds = (); } diff --git a/substrate/frame/executive/src/lib.rs b/substrate/frame/executive/src/lib.rs index 9ec78f254212ea06d701161721b78dbf6da8e6fa..31cbb0ee7ba0d76ea54dbbffed10f0152d70ac02 100644 --- a/substrate/frame/executive/src/lib.rs +++ b/substrate/frame/executive/src/lib.rs @@ -886,7 +886,7 @@ mod tests { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = ConstU32<1>; - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = ConstU32<1>; } diff --git a/substrate/frame/fast-unstake/src/mock.rs b/substrate/frame/fast-unstake/src/mock.rs index d75c89380799061fcb5af4121a66a5739e000949..101ad9088117118210e6c47fcabc90d7d9508565 100644 --- a/substrate/frame/fast-unstake/src/mock.rs +++ b/substrate/frame/fast-unstake/src/mock.rs @@ -91,7 +91,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/grandpa/src/mock.rs b/substrate/frame/grandpa/src/mock.rs index ffc566ffe74de23ec8b05b9b1da62182ca8804b8..df012ab9dc6e870a63ca49f56ce0f9e955f6c56b 100644 --- a/substrate/frame/grandpa/src/mock.rs +++ b/substrate/frame/grandpa/src/mock.rs @@ -144,7 +144,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/identity/src/tests.rs b/substrate/frame/identity/src/tests.rs index ba9749172e5f6220b3cc394e732966405eaf860c..83035c402a7dc9c9c312745e55347b4e4b01037d 100644 --- a/substrate/frame/identity/src/tests.rs +++ b/substrate/frame/identity/src/tests.rs @@ -87,7 +87,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/indices/src/mock.rs b/substrate/frame/indices/src/mock.rs index 8bd05d04ab4e1b065d80631854fdf1b0db85a0c1..f54e4dfa088dc1ebc5f56bd392e5fb3e60dd9edf 100644 --- a/substrate/frame/indices/src/mock.rs +++ b/substrate/frame/indices/src/mock.rs @@ -78,7 +78,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/lottery/src/mock.rs b/substrate/frame/lottery/src/mock.rs index 7afd0e319db34f855e669e1ec467dea6936f4e61..d89c9d6890ee24d46903280f54e5ca9dd20472f7 100644 --- a/substrate/frame/lottery/src/mock.rs +++ b/substrate/frame/lottery/src/mock.rs @@ -91,7 +91,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/multisig/src/tests.rs b/substrate/frame/multisig/src/tests.rs index 7e7f1668026a22cf504ee479ee5f0b38e8492632..cc0fbc80989364c4b04717029ed194e646a40ecc 100644 --- a/substrate/frame/multisig/src/tests.rs +++ b/substrate/frame/multisig/src/tests.rs @@ -87,7 +87,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/nft-fractionalization/src/lib.rs b/substrate/frame/nft-fractionalization/src/lib.rs index e1c8b8fea8907dcf12f458c23d4b2134efcf977b..459d89f5a8146289f68217a180a78f80dddf877a 100644 --- a/substrate/frame/nft-fractionalization/src/lib.rs +++ b/substrate/frame/nft-fractionalization/src/lib.rs @@ -63,8 +63,8 @@ pub mod pallet { sp_runtime::traits::{AccountIdConversion, StaticLookup}, traits::{ fungible::{ - hold::{Inspect as HoldInspectFungible, Mutate as HoldMutateFungible}, - Inspect as InspectFungible, Mutate as MutateFungible, + hold::Mutate as HoldMutateFungible, Inspect as InspectFungible, + Mutate as MutateFungible, }, fungibles::{ metadata::{MetadataDeposit, Mutate as MutateMetadata}, @@ -96,11 +96,10 @@ pub mod pallet { /// The currency mechanism, used for paying for deposits. type Currency: InspectFungible<Self::AccountId> + MutateFungible<Self::AccountId> - + HoldInspectFungible<Self::AccountId> - + HoldMutateFungible<Self::AccountId>; + + HoldMutateFungible<Self::AccountId, Reason = Self::RuntimeHoldReason>; - #[pallet::constant] - type HoldReason: Get<<Self::Currency as HoldInspectFungible<Self::AccountId>>::Reason>; + /// Overarching hold reason. + type RuntimeHoldReason: From<HoldReason>; /// The deposit paid by the user locking an NFT. The deposit is returned to the original NFT /// owner when the asset is unified and the NFT is unlocked. @@ -201,6 +200,14 @@ pub mod pallet { NftNotFractionalized, } + /// A reason for the pallet placing a hold on funds. + #[pallet::composite_enum] + pub enum HoldReason { + /// Reserved for a fractionalized NFT. + #[codec(index = 0)] + Fractionalized, + } + #[pallet::call] impl<T: Config> Pallet<T> { /// Lock the NFT and mint a new fungible asset. @@ -239,7 +246,7 @@ pub mod pallet { let pallet_account = Self::get_pallet_account(); let deposit = T::Deposit::get(); - T::Currency::hold(&T::HoldReason::get(), &nft_owner, deposit)?; + T::Currency::hold(&HoldReason::Fractionalized.into(), &nft_owner, deposit)?; Self::do_lock_nft(nft_collection_id, nft_id)?; Self::do_create_asset(asset_id.clone(), pallet_account.clone())?; Self::do_mint_asset(asset_id.clone(), &beneficiary, fractions)?; @@ -303,7 +310,12 @@ pub mod pallet { let asset_creator = details.asset_creator; Self::do_burn_asset(asset_id.clone(), &who, details.fractions)?; Self::do_unlock_nft(nft_collection_id, nft_id, &beneficiary)?; - T::Currency::release(&T::HoldReason::get(), &asset_creator, deposit, BestEffort)?; + T::Currency::release( + &HoldReason::Fractionalized.into(), + &asset_creator, + deposit, + BestEffort, + )?; Self::deposit_event(Event::NftUnified { nft_collection: nft_collection_id, diff --git a/substrate/frame/nft-fractionalization/src/mock.rs b/substrate/frame/nft-fractionalization/src/mock.rs index 05fbadb039398100a2416913c3911ea3600da406..62ff3df5b1a0fadf13e5b292670e253d9250ad06 100644 --- a/substrate/frame/nft-fractionalization/src/mock.rs +++ b/substrate/frame/nft-fractionalization/src/mock.rs @@ -20,7 +20,6 @@ use super::*; use crate as pallet_nft_fractionalization; -use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ construct_runtime, parameter_types, traits::{AsEnsureOriginWithArg, ConstU32, ConstU64}, @@ -28,7 +27,6 @@ use frame_support::{ }; use frame_system::EnsureSigned; use pallet_nfts::PalletFeatures; -use scale_info::TypeInfo; use sp_core::H256; use sp_runtime::{ testing::Header, @@ -83,13 +81,6 @@ impl frame_system::Config for Test { type MaxConsumers = ConstU32<16>; } -#[derive( - Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, MaxEncodedLen, Debug, TypeInfo, -)] -pub enum HoldIdentifier { - NftFractionalization, -} - impl pallet_balances::Config for Test { type Balance = u64; type DustRemoval = (); @@ -100,7 +91,7 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = ConstU32<50>; type ReserveIdentifier = [u8; 8]; - type HoldIdentifier = HoldIdentifier; + type RuntimeHoldReason = RuntimeHoldReason; type MaxHolds = ConstU32<1>; type FreezeIdentifier = (); type MaxFreezes = (); @@ -169,7 +160,6 @@ parameter_types! { pub const NftFractionalizationPalletId: PalletId = PalletId(*b"fraction"); pub NewAssetSymbol: BoundedVec<u8, StringLimit> = (*b"FRAC").to_vec().try_into().unwrap(); pub NewAssetName: BoundedVec<u8, StringLimit> = (*b"Frac").to_vec().try_into().unwrap(); - pub const HoldReason: HoldIdentifier = HoldIdentifier::NftFractionalization; } impl Config for Test { @@ -189,7 +179,7 @@ impl Config for Test { type StringLimit = StringLimit; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); - type HoldReason = HoldReason; + type RuntimeHoldReason = RuntimeHoldReason; } // Build genesis storage according to the mock runtime. diff --git a/substrate/frame/nfts/src/mock.rs b/substrate/frame/nfts/src/mock.rs index e2856a07b994cdf43be8678cf70b9f39b581f0ed..79f0b341e9fd3873fd1c6c09b4751b53848b269d 100644 --- a/substrate/frame/nfts/src/mock.rs +++ b/substrate/frame/nfts/src/mock.rs @@ -90,7 +90,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/nicks/src/lib.rs b/substrate/frame/nicks/src/lib.rs index 92865c773d886d733034367008742abf34778d29..7a7b33051b22e8229569436b77940431b1c558f1 100644 --- a/substrate/frame/nicks/src/lib.rs +++ b/substrate/frame/nicks/src/lib.rs @@ -297,7 +297,7 @@ mod tests { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/nis/src/lib.rs b/substrate/frame/nis/src/lib.rs index c4d0d0d4202907998f688ccf2fd004a6846de23b..48d322545a6352103f55379848a01ada2ebb2dd2 100644 --- a/substrate/frame/nis/src/lib.rs +++ b/substrate/frame/nis/src/lib.rs @@ -162,11 +162,7 @@ pub mod pallet { use frame_support::{ pallet_prelude::*, traits::{ - fungible::{ - self, - hold::{Inspect as FunHoldInspect, Mutate as FunHoldMutate}, - Balanced as FunBalanced, - }, + fungible::{self, hold::Mutate as FunHoldMutate, Balanced as FunBalanced}, nonfungible::{Inspect as NftInspect, Transfer as NftTransfer}, tokens::{ Fortitude::Polite, @@ -216,13 +212,10 @@ pub mod pallet { type Currency: FunInspect<Self::AccountId, Balance = Self::CurrencyBalance> + FunMutate<Self::AccountId> + FunBalanced<Self::AccountId> - + FunHoldInspect<Self::AccountId> - + FunHoldMutate<Self::AccountId>; - - /// The identifier of the hold reason. + + FunHoldMutate<Self::AccountId, Reason = Self::RuntimeHoldReason>; - #[pallet::constant] - type HoldReason: Get<<Self::Currency as FunHoldInspect<Self::AccountId>>::Reason>; + /// Overarching hold reason. + type RuntimeHoldReason: From<HoldReason>; /// Just the `Currency::Balance` type; we have this item to allow us to constrain it to /// `From<u64>`. @@ -569,14 +562,14 @@ pub mod pallet { |q| -> Result<(u32, BalanceOf<T>), DispatchError> { let queue_full = q.len() == T::MaxQueueLen::get() as usize; ensure!(!queue_full || q[0].amount < amount, Error::<T>::BidTooLow); - T::Currency::hold(&T::HoldReason::get(), &who, amount)?; + T::Currency::hold(&HoldReason::NftReceipt.into(), &who, amount)?; // queue is <Ordered: Lowest ... Highest><Fifo: Last ... First> let mut bid = Bid { amount, who: who.clone() }; let net = if queue_full { sp_std::mem::swap(&mut q[0], &mut bid); let _ = T::Currency::release( - &T::HoldReason::get(), + &HoldReason::NftReceipt.into(), &bid.who, bid.amount, BestEffort, @@ -637,7 +630,7 @@ pub mod pallet { queue.remove(pos); let new_len = queue.len() as u32; - T::Currency::release(&T::HoldReason::get(), &bid.who, bid.amount, BestEffort)?; + T::Currency::release(&HoldReason::NftReceipt.into(), &bid.who, bid.amount, BestEffort)?; Queues::<T>::insert(duration, queue); QueueTotals::<T>::mutate(|qs| { @@ -729,7 +722,7 @@ pub mod pallet { let dropped = receipt.proportion.is_zero(); if amount > on_hold { - T::Currency::release(&T::HoldReason::get(), &who, on_hold, Exact)?; + T::Currency::release(&HoldReason::NftReceipt.into(), &who, on_hold, Exact)?; let deficit = amount - on_hold; // Try to transfer deficit from pot to receipt owner. summary.receipts_on_hold.saturating_reduce(on_hold); @@ -744,7 +737,7 @@ pub mod pallet { // Transfer excess of `on_hold` to the pot if we have now fully compensated for // the receipt. T::Currency::transfer_on_hold( - &T::HoldReason::get(), + &HoldReason::NftReceipt.into(), &who, &our_account, on_hold, @@ -760,7 +753,7 @@ pub mod pallet { )?; summary.receipts_on_hold.saturating_reduce(on_hold); } - T::Currency::release(&T::HoldReason::get(), &who, amount, Exact)?; + T::Currency::release(&HoldReason::NftReceipt.into(), &who, amount, Exact)?; } if dropped { @@ -852,7 +845,7 @@ pub mod pallet { ensure!(owner == who, Error::<T>::NotOwner); // Unreserve and transfer the funds to the pot. - let reason = T::HoldReason::get(); + let reason = HoldReason::NftReceipt.into(); let us = Self::account_id(); T::Currency::transfer_on_hold(&reason, &who, &us, on_hold, Exact, Free, Polite) .map_err(|_| Error::<T>::Unfunded)?; @@ -903,7 +896,7 @@ pub mod pallet { )?; // Transfer the funds from the pot to the owner and reserve - let reason = T::HoldReason::get(); + let reason = HoldReason::NftReceipt.into(); let us = Self::account_id(); T::Currency::transfer_and_hold(&reason, &us, &who, amount, Exact, Expendable, Polite)?; @@ -959,7 +952,7 @@ pub mod pallet { let mut item = Receipts::<T>::get(index).ok_or(TokenError::UnknownAsset)?; let (owner, on_hold) = item.owner.take().ok_or(Error::<T>::AlreadyCommunal)?; - let reason = T::HoldReason::get(); + let reason = HoldReason::NftReceipt.into(); T::Currency::transfer_on_hold(&reason, &owner, dest, on_hold, Exact, OnHold, Polite)?; item.owner = Some((dest.clone(), on_hold)); diff --git a/substrate/frame/nis/src/mock.rs b/substrate/frame/nis/src/mock.rs index 0ca669093681863ee6959e2dc874371b7d553fc4..60aa0f756e9c620953c45e7d31e753efee4d4a28 100644 --- a/substrate/frame/nis/src/mock.rs +++ b/substrate/frame/nis/src/mock.rs @@ -19,7 +19,6 @@ use crate::{self as pallet_nis, Perquintill, WithMaximumOf}; -use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ ord_parameter_types, parameter_types, traits::{ @@ -30,7 +29,6 @@ use frame_support::{ PalletId, }; use pallet_balances::{Instance1, Instance2}; -use scale_info::TypeInfo; use sp_core::{ConstU128, H256}; use sp_runtime::{ testing::Header, @@ -95,17 +93,10 @@ impl pallet_balances::Config<Instance1> for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = HoldIdentifier; + type RuntimeHoldReason = RuntimeHoldReason; type MaxHolds = ConstU32<1>; } -#[derive( - Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, MaxEncodedLen, Debug, TypeInfo, -)] -pub enum HoldIdentifier { - Nis, -} - impl pallet_balances::Config<Instance2> for Test { type Balance = u128; type DustRemoval = (); @@ -122,7 +113,7 @@ impl pallet_balances::Config<Instance2> for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } @@ -133,7 +124,6 @@ parameter_types! { pub const MinReceipt: Perquintill = Perquintill::from_percent(1); pub const ThawThrottle: (Perquintill, u64) = (Perquintill::from_percent(25), 5); pub static MaxIntakeWeight: Weight = Weight::from_parts(2_000_000_000_000, 0); - pub const HoldReason: HoldIdentifier = HoldIdentifier::Nis; } ord_parameter_types! { @@ -161,7 +151,7 @@ impl pallet_nis::Config for Test { type MaxIntakeWeight = MaxIntakeWeight; type MinReceipt = MinReceipt; type ThawThrottle = ThawThrottle; - type HoldReason = HoldReason; + type RuntimeHoldReason = RuntimeHoldReason; } // This function basically just builds a genesis storage key/value store according to diff --git a/substrate/frame/nomination-pools/benchmarking/src/mock.rs b/substrate/frame/nomination-pools/benchmarking/src/mock.rs index cffb712ea2ae58cdb774da81ea56729df5412bd1..d94c63d1bf5b57cae1be19fbb8773cca7b12555c 100644 --- a/substrate/frame/nomination-pools/benchmarking/src/mock.rs +++ b/substrate/frame/nomination-pools/benchmarking/src/mock.rs @@ -77,7 +77,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/nomination-pools/src/mock.rs b/substrate/frame/nomination-pools/src/mock.rs index 3ab9be516fdb9350cf7afd2be4adb32af0e93053..f0b73bbea28dae3f51c81e51b7b0fe55fd8b5364 100644 --- a/substrate/frame/nomination-pools/src/mock.rs +++ b/substrate/frame/nomination-pools/src/mock.rs @@ -206,7 +206,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/nomination-pools/test-staking/src/mock.rs b/substrate/frame/nomination-pools/test-staking/src/mock.rs index 9726f5e6dad2747b420c9169a9ccf77e35c65279..a9c64508564cd77ea6431bfb2ae5cc8b0c54ed17 100644 --- a/substrate/frame/nomination-pools/test-staking/src/mock.rs +++ b/substrate/frame/nomination-pools/test-staking/src/mock.rs @@ -88,7 +88,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/offences/benchmarking/src/mock.rs b/substrate/frame/offences/benchmarking/src/mock.rs index 668d88e0bf3d0dc0505b06356ec8952984292a76..ed0c6c7ea44338ff7861e6b14e61ed538b3bf9e0 100644 --- a/substrate/frame/offences/benchmarking/src/mock.rs +++ b/substrate/frame/offences/benchmarking/src/mock.rs @@ -76,7 +76,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/preimage/src/mock.rs b/substrate/frame/preimage/src/mock.rs index 5054a77a8123f54ac76b0890fc501c9ad9dd91e5..7c645da2c51d858def2f9a5eadddf03a6747d4a1 100644 --- a/substrate/frame/preimage/src/mock.rs +++ b/substrate/frame/preimage/src/mock.rs @@ -86,7 +86,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/proxy/src/tests.rs b/substrate/frame/proxy/src/tests.rs index f3771083c4dd4e72e678e863fb2589250833d735..54b76413bcff4ff081677ba9a5eb3f9ecaabf382 100644 --- a/substrate/frame/proxy/src/tests.rs +++ b/substrate/frame/proxy/src/tests.rs @@ -90,7 +90,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } impl pallet_utility::Config for Test { diff --git a/substrate/frame/recovery/src/mock.rs b/substrate/frame/recovery/src/mock.rs index 5c190e2a241a55de9ddc3559859076ed91066589..523dd3aa3e8dc819606de3e4af4a8eb1ba633ec6 100644 --- a/substrate/frame/recovery/src/mock.rs +++ b/substrate/frame/recovery/src/mock.rs @@ -88,7 +88,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/referenda/src/mock.rs b/substrate/frame/referenda/src/mock.rs index cdedb79556f355b124078f13dec21fd835f55027..1a43257cb94e13d00ca8422116f3b107911a2513 100644 --- a/substrate/frame/referenda/src/mock.rs +++ b/substrate/frame/referenda/src/mock.rs @@ -122,7 +122,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } parameter_types! { diff --git a/substrate/frame/root-offences/src/mock.rs b/substrate/frame/root-offences/src/mock.rs index e48360ed34e243f835524fe89b0041680a13aa3c..8c48e34e4e04a146e87d7030fd77860b426fbc3a 100644 --- a/substrate/frame/root-offences/src/mock.rs +++ b/substrate/frame/root-offences/src/mock.rs @@ -123,7 +123,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/scored-pool/src/mock.rs b/substrate/frame/scored-pool/src/mock.rs index f10a1320ef83c7e9a898b426b1a3bbc4580b10ee..83bc939e8230da6fbf2a50d8839020aca39c48d2 100644 --- a/substrate/frame/scored-pool/src/mock.rs +++ b/substrate/frame/scored-pool/src/mock.rs @@ -93,7 +93,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/session/benchmarking/src/mock.rs b/substrate/frame/session/benchmarking/src/mock.rs index b7671255f68fbe2e90ba2952b1edde0076ea743f..3b027492e0a6ad1c76a673cf64868bdb69486955 100644 --- a/substrate/frame/session/benchmarking/src/mock.rs +++ b/substrate/frame/session/benchmarking/src/mock.rs @@ -86,7 +86,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/society/src/mock.rs b/substrate/frame/society/src/mock.rs index 9f72febc2106e8a30dcf7e9b4a4d4885b11e469c..6075f14da1248e9bdc499d6fad32379bd08998d6 100644 --- a/substrate/frame/society/src/mock.rs +++ b/substrate/frame/society/src/mock.rs @@ -95,7 +95,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/staking/src/mock.rs b/substrate/frame/staking/src/mock.rs index 98b58010a2434e6edadbc50c996a74eadad34596..f9af9f5003b43e03d437809799f6da876e71714c 100644 --- a/substrate/frame/staking/src/mock.rs +++ b/substrate/frame/staking/src/mock.rs @@ -159,7 +159,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/state-trie-migration/src/lib.rs b/substrate/frame/state-trie-migration/src/lib.rs index 1f6266d99982506983abe9cf504b702c3bf07fcf..05ca21c1de7521d4858977c1a35794af86feccd2 100644 --- a/substrate/frame/state-trie-migration/src/lib.rs +++ b/substrate/frame/state-trie-migration/src/lib.rs @@ -1130,7 +1130,7 @@ mod mock { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/statement/src/mock.rs b/substrate/frame/statement/src/mock.rs index f4d9360c9a6c04bd2b99220839b05d3f16b72f8d..8b9e7a1a7d965473202ef53d8eb81a4e85e02402 100644 --- a/substrate/frame/statement/src/mock.rs +++ b/substrate/frame/statement/src/mock.rs @@ -91,7 +91,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = RuntimeHoldReason; type MaxHolds = (); } diff --git a/substrate/frame/tips/src/tests.rs b/substrate/frame/tips/src/tests.rs index b2d97de18312fdd2d5bfd7fe2fc581eecc8230b8..b582e09f1bc2b68eb4360528f7be7f5b217dbfe2 100644 --- a/substrate/frame/tips/src/tests.rs +++ b/substrate/frame/tips/src/tests.rs @@ -99,7 +99,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } parameter_types! { diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs index be7baaf2b370e1afd38dc814323f44e6d50dacee..740915023a32d3e259ca182b5adc4099c60f5396 100644 --- a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs @@ -122,7 +122,7 @@ impl pallet_balances::Config for Runtime { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/transaction-payment/src/mock.rs b/substrate/frame/transaction-payment/src/mock.rs index 741f094481c38232c26cad5b5384e608ddc41464..28d57065eca18775cc8db32e5a32c31c6a66069a 100644 --- a/substrate/frame/transaction-payment/src/mock.rs +++ b/substrate/frame/transaction-payment/src/mock.rs @@ -115,7 +115,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/transaction-storage/src/mock.rs b/substrate/frame/transaction-storage/src/mock.rs index 3a87d8eaea707bdf4f6fc21fefce232f22cae393..27a73ba3cedb95c971f775618a64c9d1e125ac3e 100644 --- a/substrate/frame/transaction-storage/src/mock.rs +++ b/substrate/frame/transaction-storage/src/mock.rs @@ -86,7 +86,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/treasury/src/tests.rs b/substrate/frame/treasury/src/tests.rs index 67b21ff6252a8817e98e58b918915ede323034af..0659c2f5941b140a7b8e5b74d9a2a5062a1d64f8 100644 --- a/substrate/frame/treasury/src/tests.rs +++ b/substrate/frame/treasury/src/tests.rs @@ -92,7 +92,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/uniques/src/mock.rs b/substrate/frame/uniques/src/mock.rs index bad393a48958240306d299ffe7f840725da48825..e783f0b7cf4d9c0c6e7e83a400c141fca6ff682c 100644 --- a/substrate/frame/uniques/src/mock.rs +++ b/substrate/frame/uniques/src/mock.rs @@ -84,7 +84,7 @@ impl pallet_balances::Config for Test { type ReserveIdentifier = [u8; 8]; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/utility/src/tests.rs b/substrate/frame/utility/src/tests.rs index ecc78ae6b17b6c16bd13bae72e9e500710c4bece..ced50f828d564674559266d93ef30aa70c6afe31 100644 --- a/substrate/frame/utility/src/tests.rs +++ b/substrate/frame/utility/src/tests.rs @@ -188,7 +188,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/frame/vesting/src/mock.rs b/substrate/frame/vesting/src/mock.rs index 1adb36b730b1a31a859db040104b3a378a9652f4..31f35bbdab604bd99066375d29f77b7eb10ca4c7 100644 --- a/substrate/frame/vesting/src/mock.rs +++ b/substrate/frame/vesting/src/mock.rs @@ -82,7 +82,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } parameter_types! { diff --git a/substrate/frame/whitelist/src/mock.rs b/substrate/frame/whitelist/src/mock.rs index d644cd661ec9ffca6a5c02802894d0053fac19f6..63e7e9976baddc7df7e74b51bc6aa1d922197d17 100644 --- a/substrate/frame/whitelist/src/mock.rs +++ b/substrate/frame/whitelist/src/mock.rs @@ -88,7 +88,7 @@ impl pallet_balances::Config for Test { type WeightInfo = (); type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = (); type MaxHolds = (); } diff --git a/substrate/test-utils/runtime/src/lib.rs b/substrate/test-utils/runtime/src/lib.rs index c93d5c4e5694bcf6ba9b1f15ae2b8ec29ef40997..8d77439f16455b6127532883a109dfc74df20fe4 100644 --- a/substrate/test-utils/runtime/src/lib.rs +++ b/substrate/test-utils/runtime/src/lib.rs @@ -394,7 +394,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>; type FreezeIdentifier = (); type MaxFreezes = (); - type HoldIdentifier = (); + type RuntimeHoldReason = RuntimeHoldReason; type MaxHolds = ConstU32<1>; }