git.delta.rocks / unique-network / refs/commits / 5e5dd9227b0d

difftreelog

feat force version upgrade

Yaroslav Bolyukin2022-07-08parent: #824b60f.patch.diff
in: master

1 file changed

modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
183 #[pallet::hooks]183 #[pallet::hooks]
184 impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {184 impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
185 fn on_runtime_upgrade() -> Weight {185 fn on_runtime_upgrade() -> Weight {
186 if StorageVersion::get::<Pallet<T>>() < StorageVersion::new(1) {186 StorageVersion::new(1).put::<Pallet<T>>();
187 let mut had_consts = BTreeSet::new();
188 <TokenData<T>>::translate::<ItemDataVersion1<T::CrossAccountId>, _>(
189 |(collection, token), v| {
190 let mut props = vec![];
191 if !v.const_data.is_empty() {
192 props.push(Property {
193 key: b"_old_constData".to_vec().try_into().unwrap(),
194 value: v
195 .const_data
196 .clone()
197 .into_inner()
198 .try_into()
199 .expect("const too long"),
200 });
201 had_consts.insert(collection);
202 }
203 if !v.variable_data.is_empty() {
204 props.push(Property {
205 key: b"_old_variableData".to_vec().try_into().unwrap(),
206 value: v
207 .variable_data
208 .clone()
209 .into_inner()
210 .try_into()
211 .expect("variable too long"),
212 })
213 }
214 if !props.is_empty() {
215 Self::set_scoped_token_properties(
216 collection,
217 token,
218 PropertyScope::None,
219 props.into_iter(),
220 )
221 .expect("existing token data exceeds property storage");
222 }
223 Some(<ItemDataVersion2<T::CrossAccountId>>::from(v))
224 },
225 );
226 for collection in had_consts {
227 <PalletCommon<T>>::set_property_permission_unchecked(
228 collection,
229 PropertyKeyPermission {
230 key: b"_old_constData".to_vec().try_into().unwrap(),
231 permission: PropertyPermission {
232 mutable: false,
233 collection_admin: true,
234 token_owner: false,
235 },
236 },
237 )
238 .expect("failed to configure permission");
239 }
240 }
241187
242 0188 0
243 }189 }