git.delta.rocks / unique-network / refs/commits / 9fdfa5809f1e

difftreelog

feat(common) force storage version

Yaroslav Bolyukin2022-07-08parent: #71d423f.patch.diff
in: master

1 file changed

modifiedpallets/common/src/lib.rsdiffbeforeafterboth
553 #[pallet::hooks]553 #[pallet::hooks]
554 impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {554 impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
555 fn on_runtime_upgrade() -> Weight {555 fn on_runtime_upgrade() -> Weight {
556 if StorageVersion::get::<Pallet<T>>() < StorageVersion::new(1) {556 StorageVersion::new(1).put::<Pallet<T>>();
557 use up_data_structs::{CollectionVersion1, CollectionVersion2};
558 <CollectionById<T>>::translate::<CollectionVersion1<T::AccountId>, _>(|id, v| {
559 let mut props = Vec::new();
560 if !v.offchain_schema.is_empty() {
561 props.push(Property {
562 key: b"_old_offchainSchema".to_vec().try_into().unwrap(),
563 value: v
564 .offchain_schema
565 .clone()
566 .into_inner()
567 .try_into()
568 .expect("offchain schema too big"),
569 });
570 }
571 if !v.variable_on_chain_schema.is_empty() {
572 props.push(Property {
573 key: b"_old_variableOnChainSchema".to_vec().try_into().unwrap(),
574 value: v
575 .variable_on_chain_schema
576 .clone()
577 .into_inner()
578 .try_into()
579 .expect("offchain schema too big"),
580 });
581 }
582 if !v.const_on_chain_schema.is_empty() {
583 props.push(Property {
584 key: b"_old_constOnChainSchema".to_vec().try_into().unwrap(),
585 value: v
586 .const_on_chain_schema
587 .clone()
588 .into_inner()
589 .try_into()
590 .expect("offchain schema too big"),
591 });
592 }
593 props.push(Property {
594 key: b"_old_schemaVersion".to_vec().try_into().unwrap(),
595 value: match v.schema_version {
596 SchemaVersion::ImageURL => b"ImageUrl".as_slice(),
597 SchemaVersion::Unique => b"Unique".as_slice(),
598 }
599 .to_vec()
600 .try_into()
601 .unwrap(),
602 });
603 Self::set_scoped_collection_properties(
604 id,
605 PropertyScope::None,
606 props.into_iter(),
607 )
608 .expect("existing data larger than properties");
609 let mut new = CollectionVersion2::from(v.clone());
610 new.permissions.access = Some(v.access);
611 new.permissions.mint_mode = Some(v.mint_mode);
612 Some(new)
613 });
614 }
615557
616 0558 0
617 }559 }