mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 16:21:02 +00:00
NFTs 2.0 on Westmint (#2058)
* Add nfts pallet to westmint config * Fmt * Use ConstU32
This commit is contained in:
@@ -57,11 +57,13 @@ use frame_system::{
|
||||
limits::{BlockLength, BlockWeights},
|
||||
EnsureRoot, EnsureSigned,
|
||||
};
|
||||
use pallet_nfts::PalletFeatures;
|
||||
pub use parachains_common as common;
|
||||
use parachains_common::{
|
||||
impls::{AssetsToBlockAuthor, DealWithFees},
|
||||
opaque, AccountId, AssetId, AuraId, Balance, BlockNumber, Hash, Header, Index, Signature,
|
||||
AVERAGE_ON_INITIALIZE_RATIO, HOURS, MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SLOT_DURATION,
|
||||
AVERAGE_ON_INITIALIZE_RATIO, DAYS, HOURS, MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO,
|
||||
SLOT_DURATION,
|
||||
};
|
||||
use xcm_config::{XcmConfig, XcmOriginToTransactDispatchOrigin};
|
||||
|
||||
@@ -315,6 +317,7 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
||||
c,
|
||||
RuntimeCall::Balances { .. } |
|
||||
RuntimeCall::Assets { .. } |
|
||||
RuntimeCall::Nfts { .. } |
|
||||
RuntimeCall::Uniques { .. }
|
||||
),
|
||||
ProxyType::CancelProxy => matches!(
|
||||
@@ -329,7 +332,7 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
||||
RuntimeCall::Assets { .. } |
|
||||
RuntimeCall::Utility { .. } |
|
||||
RuntimeCall::Multisig { .. } |
|
||||
RuntimeCall::Uniques { .. }
|
||||
RuntimeCall::Nfts { .. } | RuntimeCall::Uniques { .. }
|
||||
)
|
||||
},
|
||||
ProxyType::AssetOwner => matches!(
|
||||
@@ -343,6 +346,17 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
||||
RuntimeCall::Assets(pallet_assets::Call::set_team { .. }) |
|
||||
RuntimeCall::Assets(pallet_assets::Call::set_metadata { .. }) |
|
||||
RuntimeCall::Assets(pallet_assets::Call::clear_metadata { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::create { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::destroy { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::transfer_ownership { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::set_team { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::lock_item_properties { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::set_metadata { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::set_collection_metadata { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::clear_metadata { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::clear_collection_metadata { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::set_collection_max_supply { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::update_mint_settings { .. }) |
|
||||
RuntimeCall::Uniques(pallet_uniques::Call::create { .. }) |
|
||||
RuntimeCall::Uniques(pallet_uniques::Call::destroy { .. }) |
|
||||
RuntimeCall::Uniques(pallet_uniques::Call::transfer_ownership { .. }) |
|
||||
@@ -365,6 +379,11 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
||||
RuntimeCall::Assets(pallet_assets::Call::thaw { .. }) |
|
||||
RuntimeCall::Assets(pallet_assets::Call::freeze_asset { .. }) |
|
||||
RuntimeCall::Assets(pallet_assets::Call::thaw_asset { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::force_mint { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::burn { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::lock_item_transfer { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::unlock_item_transfer { .. }) |
|
||||
RuntimeCall::Nfts(pallet_nfts::Call::lock_collection { .. }) |
|
||||
RuntimeCall::Uniques(pallet_uniques::Call::mint { .. }) |
|
||||
RuntimeCall::Uniques(pallet_uniques::Call::burn { .. }) |
|
||||
RuntimeCall::Uniques(pallet_uniques::Call::freeze { .. }) |
|
||||
@@ -541,6 +560,37 @@ impl pallet_uniques::Config for Runtime {
|
||||
type Locker = ();
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
pub NftsPalletFeatures: PalletFeatures = PalletFeatures::all_enabled();
|
||||
pub const NftsMaxDeadlineDuration: BlockNumber = 12 * 30 * DAYS;
|
||||
}
|
||||
|
||||
impl pallet_nfts::Config for Runtime {
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type CollectionId = u32;
|
||||
type ItemId = u32;
|
||||
type Currency = Balances;
|
||||
type CreateOrigin = AsEnsureOriginWithArg<EnsureSigned<AccountId>>;
|
||||
type ForceOrigin = AssetsForceOrigin;
|
||||
type Locker = ();
|
||||
type CollectionDeposit = CollectionDeposit;
|
||||
type ItemDeposit = ItemDeposit;
|
||||
type MetadataDepositBase = UniquesMetadataDepositBase;
|
||||
type AttributeDepositBase = AttributeDepositBase;
|
||||
type DepositPerByte = DepositPerByte;
|
||||
type StringLimit = UniquesStringLimit;
|
||||
type KeyLimit = KeyLimit;
|
||||
type ValueLimit = ValueLimit;
|
||||
type ApprovalsLimit = ConstU32<20>;
|
||||
type ItemAttributesApprovalsLimit = ConstU32<30>;
|
||||
type MaxTips = ConstU32<10>;
|
||||
type MaxDeadlineDuration = NftsMaxDeadlineDuration;
|
||||
type Features = NftsPalletFeatures;
|
||||
type WeightInfo = weights::pallet_nfts::WeightInfo<Runtime>;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
type Helper = ();
|
||||
}
|
||||
|
||||
// Create the runtime by composing the FRAME pallets that were previously configured.
|
||||
construct_runtime!(
|
||||
pub enum Runtime where
|
||||
@@ -583,6 +633,7 @@ construct_runtime!(
|
||||
// The main stage.
|
||||
Assets: pallet_assets::{Pallet, Call, Storage, Event<T>} = 50,
|
||||
Uniques: pallet_uniques::{Pallet, Call, Storage, Event<T>} = 51,
|
||||
Nfts: pallet_nfts::{Pallet, Call, Storage, Event<T>} = 52,
|
||||
}
|
||||
);
|
||||
|
||||
@@ -632,6 +683,7 @@ mod benches {
|
||||
[pallet_assets, Assets]
|
||||
[pallet_balances, Balances]
|
||||
[pallet_multisig, Multisig]
|
||||
[pallet_nfts, Nfts]
|
||||
[pallet_proxy, Proxy]
|
||||
[pallet_session, SessionBench::<Runtime>]
|
||||
[pallet_uniques, Uniques]
|
||||
|
||||
Reference in New Issue
Block a user