git.delta.rocks / unique-network / refs/commits / 26734e956758

difftreelog

refactor switch to new prefix removal methods

Yaroslav Bolyukin2022-07-21parent: #cdfb9bd.patch.diff
in: master
New methods allows to call `remove_prefix` with limit multiple times
in the same block
However, we don't use prefix removal limits, so upgrade is
straightforward

5 files changed

modifiedpallets/common/src/lib.rsdiffbeforeafterboth
958 <DestroyedCollectionCount<T>>::put(destroyed_collections);958 <DestroyedCollectionCount<T>>::put(destroyed_collections);
959 <CollectionById<T>>::remove(collection.id);959 <CollectionById<T>>::remove(collection.id);
960 <AdminAmount<T>>::remove(collection.id);960 <AdminAmount<T>>::remove(collection.id);
961 <IsAdmin<T>>::remove_prefix((collection.id,), None);961 let _ = <IsAdmin<T>>::clear_prefix((collection.id,), u32::MAX, None);
962 <Allowlist<T>>::remove_prefix((collection.id,), None);962 let _ = <Allowlist<T>>::clear_prefix((collection.id,), u32::MAX, None);
963 <CollectionProperties<T>>::remove(collection.id);963 <CollectionProperties<T>>::remove(collection.id);
964964
965 <Pallet<T>>::deposit_event(Event::CollectionDestroyed(collection.id));965 <Pallet<T>>::deposit_event(Event::CollectionDestroyed(collection.id));
modifiedpallets/fungible/src/lib.rsdiffbeforeafterboth
231 PalletCommon::destroy_collection(collection.0, sender)?;231 PalletCommon::destroy_collection(collection.0, sender)?;
232232
233 <TotalSupply<T>>::remove(id);233 <TotalSupply<T>>::remove(id);
234 <Balance<T>>::remove_prefix((id,), None);234 let _ = <Balance<T>>::clear_prefix((id,), u32::MAX, None);
235 <Allowance<T>>::remove_prefix((id,), None);235 let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);
236 Ok(())236 Ok(())
237 }237 }
238238
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
429429
430 PalletCommon::destroy_collection(collection.0, sender)?;430 PalletCommon::destroy_collection(collection.0, sender)?;
431431
432 <TokenData<T>>::remove_prefix((id,), None);432 let _ = <TokenData<T>>::clear_prefix((id,), u32::MAX, None);
433 <TokenChildren<T>>::remove_prefix((id,), None);433 let _ = <TokenChildren<T>>::clear_prefix((id,), u32::MAX, None);
434 <Owned<T>>::remove_prefix((id,), None);434 let _ = <Owned<T>>::clear_prefix((id,), u32::MAX, None);
435 <TokensMinted<T>>::remove(id);435 <TokensMinted<T>>::remove(id);
436 <TokensBurnt<T>>::remove(id);436 <TokensBurnt<T>>::remove(id);
437 <Allowance<T>>::remove_prefix((id,), None);437 let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);
438 <AccountBalance<T>>::remove_prefix((id,), None);438 let _ = <AccountBalance<T>>::clear_prefix((id,), u32::MAX, None);
439 Ok(())439 Ok(())
440 }440 }
441441
487 <TokensBurnt<T>>::insert(collection.id, burnt);487 <TokensBurnt<T>>::insert(collection.id, burnt);
488 <TokenData<T>>::remove((collection.id, token));488 <TokenData<T>>::remove((collection.id, token));
489 <TokenProperties<T>>::remove((collection.id, token));489 <TokenProperties<T>>::remove((collection.id, token));
490 <TokenAuxProperties<T>>::remove_prefix((collection.id, token), None);490 let _ = <TokenAuxProperties<T>>::clear_prefix((collection.id, token), u32::MAX, None);
491 let old_spender = <Allowance<T>>::take((collection.id, token));491 let old_spender = <Allowance<T>>::take((collection.id, token));
492492
493 if let Some(old_spender) = old_spender {493 if let Some(old_spender) = old_spender {
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
398398
399 <TokensMinted<T>>::remove(id);399 <TokensMinted<T>>::remove(id);
400 <TokensBurnt<T>>::remove(id);400 <TokensBurnt<T>>::remove(id);
401 <TotalSupply<T>>::remove_prefix((id,), None);401 let _ = <TotalSupply<T>>::clear_prefix((id,), u32::MAX, None);
402 <Balance<T>>::remove_prefix((id,), None);402 let _ = <Balance<T>>::clear_prefix((id,), u32::MAX, None);
403 <Allowance<T>>::remove_prefix((id,), None);403 let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);
404 <Owned<T>>::remove_prefix((id,), None);404 let _ = <Owned<T>>::clear_prefix((id,), u32::MAX, None);
405 <AccountBalance<T>>::remove_prefix((id,), None);405 let _ = <AccountBalance<T>>::clear_prefix((id,), u32::MAX, None);
406 Ok(())406 Ok(())
407 }407 }
408408
424 <TokensBurnt<T>>::insert(collection.id, burnt);424 <TokensBurnt<T>>::insert(collection.id, burnt);
425 <TokenProperties<T>>::remove((collection.id, token_id));425 <TokenProperties<T>>::remove((collection.id, token_id));
426 <TotalSupply<T>>::remove((collection.id, token_id));426 <TotalSupply<T>>::remove((collection.id, token_id));
427<<<<<<< HEAD
427 <Balance<T>>::remove_prefix((collection.id, token_id), None);428 <Balance<T>>::remove_prefix((collection.id, token_id), None);
428 <Allowance<T>>::remove_prefix((collection.id, token_id), None);429 <Allowance<T>>::remove_prefix((collection.id, token_id), None);
429430
435 }436 }
436 .to_log(collection_id_to_address(collection.id)),437 .to_log(collection_id_to_address(collection.id)),
437 );438 );
439=======
440 let _ = <Balance<T>>::clear_prefix((collection.id, token_id), u32::MAX, None);
441 let _ = <Allowance<T>>::clear_prefix((collection.id, token_id), u32::MAX, None);
442 // TODO: ERC721 transfer event
443>>>>>>> 5d9665e0... refactor: switch to new prefix removal methods
438 Ok(())444 Ok(())
439 }445 }
440446
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
373373
374 T::CollectionDispatch::destroy(sender, collection)?;374 T::CollectionDispatch::destroy(sender, collection)?;
375
376 // TODO: basket cleanup should be moved elsewhere
377 // Maybe runtime dispatch.rs should perform it?
375378
376 <NftTransferBasket<T>>::remove_prefix(collection_id, None);379 let _ = <NftTransferBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
377 <FungibleTransferBasket<T>>::remove_prefix(collection_id, None);380 let _ = <FungibleTransferBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
378 <ReFungibleTransferBasket<T>>::remove_prefix((collection_id,), None);381 let _ = <ReFungibleTransferBasket<T>>::clear_prefix((collection_id,), u32::MAX, None);
379382
380 <NftApproveBasket<T>>::remove_prefix(collection_id, None);383 let _ = <NftApproveBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
381 <FungibleApproveBasket<T>>::remove_prefix(collection_id, None);384 let _ = <FungibleApproveBasket<T>>::clear_prefix(collection_id, u32::MAX, None);
382 <RefungibleApproveBasket<T>>::remove_prefix((collection_id,), None);385 let _ = <RefungibleApproveBasket<T>>::clear_prefix((collection_id,), u32::MAX, None);
383386
384 Ok(())387 Ok(())
385 }388 }