git.delta.rocks / unique-network / refs/commits / fd790373e1a8

difftreelog

Merge branch 'feature/internal-audit' of github.com:UniqueNetwork/unique-chain into feature/internal-audit

Greg Zaitsev2021-11-12parents: #4eb90d8 #6aab87c.patch.diff
in: master

2 files changed

modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
162 0162 0
163 }163 }
164164
165 /// This method creates a Collection of NFTs. Each Token may have multiple properties encoded as an array of bytes of certain length. The initial owner and admin of the collection are set to the address that signed the transaction. Both addresses can be changed later.165 /// This method creates a Collection of NFTs. Each Token may have multiple properties encoded as an array of bytes of certain length. The initial owner of the collection is set to the address that signed the transaction and can be changed later.
166 ///166 ///
167 /// # Permissions167 /// # Permissions
168 ///168 ///
modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
62 traits::{Zero, One, BadOrigin, Saturating},62 traits::{Zero, One, BadOrigin, Saturating},
63};63};
64use frame_support::{64use frame_support::{
65 decl_module, decl_storage, decl_event, decl_error, IterableStorageMap,65 decl_module, decl_storage, decl_event, decl_error,
66 dispatch::{Dispatchable, DispatchError, DispatchResult, Parameter},66 dispatch::{Dispatchable, DispatchError, DispatchResult, Parameter},
67 traits::{67 traits::{
68 Get,68 Get,
456}456}
457457
458impl<T: Config> Module<T> {458impl<T: Config> Module<T> {
459 /// Migrate storage format from V1 to V2.
460 /// Return true if migration is performed.
461 pub fn migrate_v1_to_t2() -> bool {
462 if StorageVersion::get() == Releases::V1 {
463 StorageVersion::put(Releases::V2);
464
465 Agenda::<T>::translate::<
466 Vec<Option<ScheduledV1<<T as Config>::Call, T::BlockNumber>>>,
467 _,
468 >(|_, agenda| {
469 Some(
470 agenda
471 .into_iter()
472 .map(|schedule| {
473 schedule.map(|schedule| ScheduledV2 {
474 maybe_id: schedule.maybe_id,
475 priority: schedule.priority,
476 call: schedule.call,
477 maybe_periodic: schedule.maybe_periodic,
478 origin: system::RawOrigin::Root.into(),
479 _phantom: Default::default(),
480 })
481 })
482 .collect::<Vec<_>>(),
483 )
484 });
485
486 true
487 } else {
488 false
489 }
490 }
491
492 /// Helper to migrate scheduler when the pallet origin type has changed.
493 pub fn migrate_origin<OldOrigin: Into<T::PalletsOrigin> + codec::Decode>() {
494 Agenda::<T>::translate::<
495 Vec<Option<Scheduled<<T as Config>::Call, T::BlockNumber, OldOrigin, T::AccountId>>>,
496 _,
497 >(|_, agenda| {
498 Some(
499 agenda
500 .into_iter()
501 .map(|schedule| {
502 schedule.map(|schedule| Scheduled {
503 maybe_id: schedule.maybe_id,
504 priority: schedule.priority,
505 call: schedule.call,
506 maybe_periodic: schedule.maybe_periodic,
507 origin: schedule.origin.into(),
508 _phantom: Default::default(),
509 })
510 })
511 .collect::<Vec<_>>(),
512 )
513 });
514 }
515
516 fn resolve_time(when: DispatchTime<T::BlockNumber>) -> Result<T::BlockNumber, DispatchError> {459 fn resolve_time(when: DispatchTime<T::BlockNumber>) -> Result<T::BlockNumber, DispatchError> {
517 let now = frame_system::Pallet::<T>::block_number();460 let now = frame_system::Pallet::<T>::block_number();