Add field names to pallet Event variants (#10184)

* Changed named fields to struct variants

* Fixed errors.

* Made adjustments as per `cargo +nightly fmt`.

* Update frame/uniques/src/lib.rs

Co-authored-by: Alexander Theißen <alex.theissen@me.com>

* Removed redundant comments for structs.

* Moved frame-support to dev dependencies

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
This commit is contained in:
Ayevbeosa Iyamu
2021-11-15 20:16:03 +01:00
committed by GitHub
parent 9ee0b1cb6c
commit 8a5bb77e03
9 changed files with 185 additions and 126 deletions
+4 -4
View File
@@ -2157,10 +2157,10 @@ mod tests {
}, },
EventRecord { EventRecord {
phase: Phase::Initialization, phase: Phase::Initialization,
event: MetaEvent::Utility(pallet_utility::Event::BatchInterrupted( event: MetaEvent::Utility(pallet_utility::Event::BatchInterrupted {
1, index: 1,
frame_system::Error::<Test>::CallFiltered.into() error: frame_system::Error::<Test>::CallFiltered.into()
),), },),
topics: vec![], topics: vec![],
}, },
] ]
+4 -2
View File
@@ -369,7 +369,8 @@ fn filtering_works() {
); );
assert_ok!(Proxy::proxy(Origin::signed(4), 1, None, call.clone())); assert_ok!(Proxy::proxy(Origin::signed(4), 1, None, call.clone()));
expect_events(vec![ expect_events(vec![
UtilityEvent::BatchInterrupted(0, SystemError::CallFiltered.into()).into(), UtilityEvent::BatchInterrupted { index: 0, error: SystemError::CallFiltered.into() }
.into(),
ProxyEvent::ProxyExecuted(Ok(())).into(), ProxyEvent::ProxyExecuted(Ok(())).into(),
]); ]);
@@ -387,7 +388,8 @@ fn filtering_works() {
); );
assert_ok!(Proxy::proxy(Origin::signed(4), 1, None, call.clone())); assert_ok!(Proxy::proxy(Origin::signed(4), 1, None, call.clone()));
expect_events(vec![ expect_events(vec![
UtilityEvent::BatchInterrupted(0, SystemError::CallFiltered.into()).into(), UtilityEvent::BatchInterrupted { index: 0, error: SystemError::CallFiltered.into() }
.into(),
ProxyEvent::ProxyExecuted(Ok(())).into(), ProxyEvent::ProxyExecuted(Ok(())).into(),
]); ]);
+26 -26
View File
@@ -141,7 +141,7 @@ benchmarks_instance_pallet! {
T::Currency::make_free_balance_be(&caller, DepositBalanceOf::<T, I>::max_value()); T::Currency::make_free_balance_be(&caller, DepositBalanceOf::<T, I>::max_value());
}: _(SystemOrigin::Signed(caller.clone()), Default::default(), caller_lookup) }: _(SystemOrigin::Signed(caller.clone()), Default::default(), caller_lookup)
verify { verify {
assert_last_event::<T, I>(Event::Created(Default::default(), caller.clone(), caller).into()); assert_last_event::<T, I>(Event::Created { class: Default::default(), creator: caller.clone(), owner: caller }.into());
} }
force_create { force_create {
@@ -149,7 +149,7 @@ benchmarks_instance_pallet! {
let caller_lookup = T::Lookup::unlookup(caller.clone()); let caller_lookup = T::Lookup::unlookup(caller.clone());
}: _(SystemOrigin::Root, Default::default(), caller_lookup, true) }: _(SystemOrigin::Root, Default::default(), caller_lookup, true)
verify { verify {
assert_last_event::<T, I>(Event::ForceCreated(Default::default(), caller).into()); assert_last_event::<T, I>(Event::ForceCreated { class: Default::default(), owner: caller }.into());
} }
destroy { destroy {
@@ -171,7 +171,7 @@ benchmarks_instance_pallet! {
let witness = Class::<T, I>::get(class).unwrap().destroy_witness(); let witness = Class::<T, I>::get(class).unwrap().destroy_witness();
}: _(SystemOrigin::Signed(caller), class, witness) }: _(SystemOrigin::Signed(caller), class, witness)
verify { verify {
assert_last_event::<T, I>(Event::Destroyed(class).into()); assert_last_event::<T, I>(Event::Destroyed { class: class }.into());
} }
mint { mint {
@@ -179,7 +179,7 @@ benchmarks_instance_pallet! {
let instance = Default::default(); let instance = Default::default();
}: _(SystemOrigin::Signed(caller.clone()), class, instance, caller_lookup) }: _(SystemOrigin::Signed(caller.clone()), class, instance, caller_lookup)
verify { verify {
assert_last_event::<T, I>(Event::Issued(class, instance, caller).into()); assert_last_event::<T, I>(Event::Issued { class, instance, owner: caller }.into());
} }
burn { burn {
@@ -187,7 +187,7 @@ benchmarks_instance_pallet! {
let (instance, ..) = mint_instance::<T, I>(0); let (instance, ..) = mint_instance::<T, I>(0);
}: _(SystemOrigin::Signed(caller.clone()), class, instance, Some(caller_lookup)) }: _(SystemOrigin::Signed(caller.clone()), class, instance, Some(caller_lookup))
verify { verify {
assert_last_event::<T, I>(Event::Burned(class, instance, caller).into()); assert_last_event::<T, I>(Event::Burned { class, instance, owner: caller }.into());
} }
transfer { transfer {
@@ -198,7 +198,7 @@ benchmarks_instance_pallet! {
let target_lookup = T::Lookup::unlookup(target.clone()); let target_lookup = T::Lookup::unlookup(target.clone());
}: _(SystemOrigin::Signed(caller.clone()), class, instance, target_lookup) }: _(SystemOrigin::Signed(caller.clone()), class, instance, target_lookup)
verify { verify {
assert_last_event::<T, I>(Event::Transferred(class, instance, caller, target).into()); assert_last_event::<T, I>(Event::Transferred { class, instance, from: caller, to: target }.into());
} }
redeposit { redeposit {
@@ -217,7 +217,7 @@ benchmarks_instance_pallet! {
)?; )?;
}: _(SystemOrigin::Signed(caller.clone()), class, instances.clone()) }: _(SystemOrigin::Signed(caller.clone()), class, instances.clone())
verify { verify {
assert_last_event::<T, I>(Event::Redeposited(class, instances).into()); assert_last_event::<T, I>(Event::Redeposited { class, successful_instances: instances }.into());
} }
freeze { freeze {
@@ -225,7 +225,7 @@ benchmarks_instance_pallet! {
let (instance, ..) = mint_instance::<T, I>(Default::default()); let (instance, ..) = mint_instance::<T, I>(Default::default());
}: _(SystemOrigin::Signed(caller.clone()), Default::default(), Default::default()) }: _(SystemOrigin::Signed(caller.clone()), Default::default(), Default::default())
verify { verify {
assert_last_event::<T, I>(Event::Frozen(Default::default(), Default::default()).into()); assert_last_event::<T, I>(Event::Frozen { class: Default::default(), instance: Default::default() }.into());
} }
thaw { thaw {
@@ -238,14 +238,14 @@ benchmarks_instance_pallet! {
)?; )?;
}: _(SystemOrigin::Signed(caller.clone()), class, instance) }: _(SystemOrigin::Signed(caller.clone()), class, instance)
verify { verify {
assert_last_event::<T, I>(Event::Thawed(class, instance).into()); assert_last_event::<T, I>(Event::Thawed { class, instance }.into());
} }
freeze_class { freeze_class {
let (class, caller, caller_lookup) = create_class::<T, I>(); let (class, caller, caller_lookup) = create_class::<T, I>();
}: _(SystemOrigin::Signed(caller.clone()), class) }: _(SystemOrigin::Signed(caller.clone()), class)
verify { verify {
assert_last_event::<T, I>(Event::ClassFrozen(class).into()); assert_last_event::<T, I>(Event::ClassFrozen { class }.into());
} }
thaw_class { thaw_class {
@@ -254,7 +254,7 @@ benchmarks_instance_pallet! {
Uniques::<T, I>::freeze_class(origin, class)?; Uniques::<T, I>::freeze_class(origin, class)?;
}: _(SystemOrigin::Signed(caller.clone()), class) }: _(SystemOrigin::Signed(caller.clone()), class)
verify { verify {
assert_last_event::<T, I>(Event::ClassThawed(class).into()); assert_last_event::<T, I>(Event::ClassThawed { class }.into());
} }
transfer_ownership { transfer_ownership {
@@ -264,7 +264,7 @@ benchmarks_instance_pallet! {
T::Currency::make_free_balance_be(&target, T::Currency::minimum_balance()); T::Currency::make_free_balance_be(&target, T::Currency::minimum_balance());
}: _(SystemOrigin::Signed(caller), class, target_lookup) }: _(SystemOrigin::Signed(caller), class, target_lookup)
verify { verify {
assert_last_event::<T, I>(Event::OwnerChanged(class, target).into()); assert_last_event::<T, I>(Event::OwnerChanged { class, new_owner: target }.into());
} }
set_team { set_team {
@@ -274,12 +274,12 @@ benchmarks_instance_pallet! {
let target2 = T::Lookup::unlookup(account("target", 2, SEED)); let target2 = T::Lookup::unlookup(account("target", 2, SEED));
}: _(SystemOrigin::Signed(caller), Default::default(), target0.clone(), target1.clone(), target2.clone()) }: _(SystemOrigin::Signed(caller), Default::default(), target0.clone(), target1.clone(), target2.clone())
verify { verify {
assert_last_event::<T, I>(Event::TeamChanged( assert_last_event::<T, I>(Event::TeamChanged{
class, class,
account("target", 0, SEED), issuer: account("target", 0, SEED),
account("target", 1, SEED), admin: account("target", 1, SEED),
account("target", 2, SEED), freezer: account("target", 2, SEED),
).into()); }.into());
} }
force_asset_status { force_asset_status {
@@ -296,7 +296,7 @@ benchmarks_instance_pallet! {
}; };
}: { call.dispatch_bypass_filter(origin)? } }: { call.dispatch_bypass_filter(origin)? }
verify { verify {
assert_last_event::<T, I>(Event::AssetStatusChanged(class).into()); assert_last_event::<T, I>(Event::AssetStatusChanged { class }.into());
} }
set_attribute { set_attribute {
@@ -308,7 +308,7 @@ benchmarks_instance_pallet! {
add_instance_metadata::<T, I>(instance); add_instance_metadata::<T, I>(instance);
}: _(SystemOrigin::Signed(caller), class, Some(instance), key.clone(), value.clone()) }: _(SystemOrigin::Signed(caller), class, Some(instance), key.clone(), value.clone())
verify { verify {
assert_last_event::<T, I>(Event::AttributeSet(class, Some(instance), key, value).into()); assert_last_event::<T, I>(Event::AttributeSet { class, maybe_instance: Some(instance), key, value }.into());
} }
clear_attribute { clear_attribute {
@@ -318,7 +318,7 @@ benchmarks_instance_pallet! {
let (key, ..) = add_instance_attribute::<T, I>(instance); let (key, ..) = add_instance_attribute::<T, I>(instance);
}: _(SystemOrigin::Signed(caller), class, Some(instance), key.clone()) }: _(SystemOrigin::Signed(caller), class, Some(instance), key.clone())
verify { verify {
assert_last_event::<T, I>(Event::AttributeCleared(class, Some(instance), key).into()); assert_last_event::<T, I>(Event::AttributeCleared { class, maybe_instance: Some(instance), key }.into());
} }
set_metadata { set_metadata {
@@ -328,7 +328,7 @@ benchmarks_instance_pallet! {
let (instance, ..) = mint_instance::<T, I>(0); let (instance, ..) = mint_instance::<T, I>(0);
}: _(SystemOrigin::Signed(caller), class, instance, data.clone(), false) }: _(SystemOrigin::Signed(caller), class, instance, data.clone(), false)
verify { verify {
assert_last_event::<T, I>(Event::MetadataSet(class, instance, data, false).into()); assert_last_event::<T, I>(Event::MetadataSet { class, instance, data, is_frozen: false }.into());
} }
clear_metadata { clear_metadata {
@@ -337,7 +337,7 @@ benchmarks_instance_pallet! {
add_instance_metadata::<T, I>(instance); add_instance_metadata::<T, I>(instance);
}: _(SystemOrigin::Signed(caller), class, instance) }: _(SystemOrigin::Signed(caller), class, instance)
verify { verify {
assert_last_event::<T, I>(Event::MetadataCleared(class, instance).into()); assert_last_event::<T, I>(Event::MetadataCleared { class, instance }.into());
} }
set_class_metadata { set_class_metadata {
@@ -346,7 +346,7 @@ benchmarks_instance_pallet! {
let (class, caller, _) = create_class::<T, I>(); let (class, caller, _) = create_class::<T, I>();
}: _(SystemOrigin::Signed(caller), class, data.clone(), false) }: _(SystemOrigin::Signed(caller), class, data.clone(), false)
verify { verify {
assert_last_event::<T, I>(Event::ClassMetadataSet(class, data, false).into()); assert_last_event::<T, I>(Event::ClassMetadataSet { class, data, is_frozen: false }.into());
} }
clear_class_metadata { clear_class_metadata {
@@ -354,7 +354,7 @@ benchmarks_instance_pallet! {
add_class_metadata::<T, I>(); add_class_metadata::<T, I>();
}: _(SystemOrigin::Signed(caller), class) }: _(SystemOrigin::Signed(caller), class)
verify { verify {
assert_last_event::<T, I>(Event::ClassMetadataCleared(class).into()); assert_last_event::<T, I>(Event::ClassMetadataCleared { class }.into());
} }
approve_transfer { approve_transfer {
@@ -364,7 +364,7 @@ benchmarks_instance_pallet! {
let delegate_lookup = T::Lookup::unlookup(delegate.clone()); let delegate_lookup = T::Lookup::unlookup(delegate.clone());
}: _(SystemOrigin::Signed(caller.clone()), class, instance, delegate_lookup) }: _(SystemOrigin::Signed(caller.clone()), class, instance, delegate_lookup)
verify { verify {
assert_last_event::<T, I>(Event::ApprovedTransfer(class, instance, caller, delegate).into()); assert_last_event::<T, I>(Event::ApprovedTransfer { class, instance, owner: caller, delegate }.into());
} }
cancel_approval { cancel_approval {
@@ -376,7 +376,7 @@ benchmarks_instance_pallet! {
Uniques::<T, I>::approve_transfer(origin, class, instance, delegate_lookup.clone())?; Uniques::<T, I>::approve_transfer(origin, class, instance, delegate_lookup.clone())?;
}: _(SystemOrigin::Signed(caller.clone()), class, instance, Some(delegate_lookup)) }: _(SystemOrigin::Signed(caller.clone()), class, instance, Some(delegate_lookup))
verify { verify {
assert_last_event::<T, I>(Event::ApprovalCancelled(class, instance, caller, delegate).into()); assert_last_event::<T, I>(Event::ApprovalCancelled { class, instance, owner: caller, delegate }.into());
} }
impl_benchmark_test_suite!(Uniques, crate::mock::new_test_ext(), crate::mock::Test); impl_benchmark_test_suite!(Uniques, crate::mock::new_test_ext(), crate::mock::Test);
+9 -4
View File
@@ -44,7 +44,12 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
details.owner = dest; details.owner = dest;
Asset::<T, I>::insert(&class, &instance, &details); Asset::<T, I>::insert(&class, &instance, &details);
Self::deposit_event(Event::Transferred(class, instance, origin, details.owner)); Self::deposit_event(Event::Transferred {
class,
instance,
from: origin,
to: details.owner,
});
Ok(()) Ok(())
} }
@@ -105,7 +110,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Attribute::<T, I>::remove_prefix((&class,), None); Attribute::<T, I>::remove_prefix((&class,), None);
T::Currency::unreserve(&class_details.owner, class_details.total_deposit); T::Currency::unreserve(&class_details.owner, class_details.total_deposit);
Self::deposit_event(Event::Destroyed(class)); Self::deposit_event(Event::Destroyed { class });
Ok(DestroyWitness { Ok(DestroyWitness {
instances: class_details.instances, instances: class_details.instances,
@@ -146,7 +151,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Ok(()) Ok(())
})?; })?;
Self::deposit_event(Event::Issued(class, instance, owner)); Self::deposit_event(Event::Issued { class, instance, owner });
Ok(()) Ok(())
} }
@@ -174,7 +179,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Asset::<T, I>::remove(&class, &instance); Asset::<T, I>::remove(&class, &instance);
Account::<T, I>::remove((&owner, &class, &instance)); Account::<T, I>::remove((&owner, &class, &instance));
Self::deposit_event(Event::Burned(class, instance, owner)); Self::deposit_event(Event::Burned { class, instance, owner });
Ok(()) Ok(())
} }
} }
@@ -98,7 +98,7 @@ impl<T: Config<I>, I: 'static> Create<<T as SystemConfig>::AccountId> for Pallet
admin.clone(), admin.clone(),
T::ClassDeposit::get(), T::ClassDeposit::get(),
false, false,
Event::Created(class.clone(), who.clone(), admin.clone()), Event::Created { class: class.clone(), creator: who.clone(), owner: admin.clone() },
) )
} }
} }
+107 -67
View File
@@ -191,63 +191,90 @@ pub mod pallet {
#[pallet::event] #[pallet::event]
#[pallet::generate_deposit(pub(super) fn deposit_event)] #[pallet::generate_deposit(pub(super) fn deposit_event)]
pub enum Event<T: Config<I>, I: 'static = ()> { pub enum Event<T: Config<I>, I: 'static = ()> {
/// An asset class was created. \[ class, creator, owner \] /// An asset class was created.
Created(T::ClassId, T::AccountId, T::AccountId), Created { class: T::ClassId, creator: T::AccountId, owner: T::AccountId },
/// An asset class was force-created. \[ class, owner \] /// An asset class was force-created.
ForceCreated(T::ClassId, T::AccountId), ForceCreated { class: T::ClassId, owner: T::AccountId },
/// An asset `class` was destroyed. \[ class \] /// An asset `class` was destroyed.
Destroyed(T::ClassId), Destroyed { class: T::ClassId },
/// An asset `instance` was issued. \[ class, instance, owner \] /// An asset `instance` was issued.
Issued(T::ClassId, T::InstanceId, T::AccountId), Issued { class: T::ClassId, instance: T::InstanceId, owner: T::AccountId },
/// An asset `instance` was transferred. \[ class, instance, from, to \] /// An asset `instance` was transferred.
Transferred(T::ClassId, T::InstanceId, T::AccountId, T::AccountId), Transferred {
/// An asset `instance` was destroyed. \[ class, instance, owner \] class: T::ClassId,
Burned(T::ClassId, T::InstanceId, T::AccountId), instance: T::InstanceId,
/// Some asset `instance` was frozen. \[ class, instance \] from: T::AccountId,
Frozen(T::ClassId, T::InstanceId), to: T::AccountId,
/// Some asset `instance` was thawed. \[ class, instance \] },
Thawed(T::ClassId, T::InstanceId), /// An asset `instance` was destroyed.
/// Some asset `class` was frozen. \[ class \] Burned { class: T::ClassId, instance: T::InstanceId, owner: T::AccountId },
ClassFrozen(T::ClassId), /// Some asset `instance` was frozen.
/// Some asset `class` was thawed. \[ class \] Frozen { class: T::ClassId, instance: T::InstanceId },
ClassThawed(T::ClassId), /// Some asset `instance` was thawed.
/// The owner changed \[ class, new_owner \] Thawed { class: T::ClassId, instance: T::InstanceId },
OwnerChanged(T::ClassId, T::AccountId), /// Some asset `class` was frozen.
/// The management team changed \[ class, issuer, admin, freezer \] ClassFrozen { class: T::ClassId },
TeamChanged(T::ClassId, T::AccountId, T::AccountId, T::AccountId), /// Some asset `class` was thawed.
ClassThawed { class: T::ClassId },
/// The owner changed.
OwnerChanged { class: T::ClassId, new_owner: T::AccountId },
/// The management team changed.
TeamChanged {
class: T::ClassId,
issuer: T::AccountId,
admin: T::AccountId,
freezer: T::AccountId,
},
/// An `instance` of an asset `class` has been approved by the `owner` for transfer by a /// An `instance` of an asset `class` has been approved by the `owner` for transfer by a
/// `delegate`. /// `delegate`.
/// \[ class, instance, owner, delegate \] ApprovedTransfer {
ApprovedTransfer(T::ClassId, T::InstanceId, T::AccountId, T::AccountId), class: T::ClassId,
instance: T::InstanceId,
owner: T::AccountId,
delegate: T::AccountId,
},
/// An approval for a `delegate` account to transfer the `instance` of an asset `class` was /// An approval for a `delegate` account to transfer the `instance` of an asset `class` was
/// cancelled by its `owner`. /// cancelled by its `owner`.
/// \[ class, instance, owner, delegate \] ApprovalCancelled {
ApprovalCancelled(T::ClassId, T::InstanceId, T::AccountId, T::AccountId), class: T::ClassId,
instance: T::InstanceId,
owner: T::AccountId,
delegate: T::AccountId,
},
/// An asset `class` has had its attributes changed by the `Force` origin. /// An asset `class` has had its attributes changed by the `Force` origin.
/// \[ class \] AssetStatusChanged { class: T::ClassId },
AssetStatusChanged(T::ClassId), /// New metadata has been set for an asset class.
/// New metadata has been set for an asset class. \[ class, data, is_frozen \] ClassMetadataSet {
ClassMetadataSet(T::ClassId, BoundedVec<u8, T::StringLimit>, bool), class: T::ClassId,
/// Metadata has been cleared for an asset class. \[ class \] data: BoundedVec<u8, T::StringLimit>,
ClassMetadataCleared(T::ClassId), is_frozen: bool,
},
/// Metadata has been cleared for an asset class.
ClassMetadataCleared { class: T::ClassId },
/// New metadata has been set for an asset instance. /// New metadata has been set for an asset instance.
/// \[ class, instance, data, is_frozen \] MetadataSet {
MetadataSet(T::ClassId, T::InstanceId, BoundedVec<u8, T::StringLimit>, bool), class: T::ClassId,
/// Metadata has been cleared for an asset instance. \[ class, instance \] instance: T::InstanceId,
MetadataCleared(T::ClassId, T::InstanceId), data: BoundedVec<u8, T::StringLimit>,
/// Metadata has been cleared for an asset instance. \[ class, successful_instances \] is_frozen: bool,
Redeposited(T::ClassId, Vec<T::InstanceId>), },
/// Metadata has been cleared for an asset instance.
MetadataCleared { class: T::ClassId, instance: T::InstanceId },
/// Metadata has been cleared for an asset instance.
Redeposited { class: T::ClassId, successful_instances: Vec<T::InstanceId> },
/// New attribute metadata has been set for an asset class or instance. /// New attribute metadata has been set for an asset class or instance.
/// \[ class, maybe_instance, key, value \] AttributeSet {
AttributeSet( class: T::ClassId,
T::ClassId, maybe_instance: Option<T::InstanceId>,
Option<T::InstanceId>, key: BoundedVec<u8, T::KeyLimit>,
BoundedVec<u8, T::KeyLimit>, value: BoundedVec<u8, T::ValueLimit>,
BoundedVec<u8, T::ValueLimit>, },
),
/// Attribute metadata has been cleared for an asset class or instance. /// Attribute metadata has been cleared for an asset class or instance.
/// \[ class, maybe_instance, key, maybe_value \] AttributeCleared {
AttributeCleared(T::ClassId, Option<T::InstanceId>, BoundedVec<u8, T::KeyLimit>), class: T::ClassId,
maybe_instance: Option<T::InstanceId>,
key: BoundedVec<u8, T::KeyLimit>,
},
} }
#[pallet::error] #[pallet::error]
@@ -317,7 +344,7 @@ pub mod pallet {
admin.clone(), admin.clone(),
T::ClassDeposit::get(), T::ClassDeposit::get(),
false, false,
Event::Created(class, owner, admin), Event::Created { class, creator: owner, owner: admin },
) )
} }
@@ -353,7 +380,7 @@ pub mod pallet {
owner.clone(), owner.clone(),
Zero::zero(), Zero::zero(),
free_holding, free_holding,
Event::ForceCreated(class, owner), Event::ForceCreated { class, owner },
) )
} }
@@ -549,7 +576,10 @@ pub mod pallet {
} }
Class::<T, I>::insert(&class, &class_details); Class::<T, I>::insert(&class, &class_details);
Self::deposit_event(Event::<T, I>::Redeposited(class, successful)); Self::deposit_event(Event::<T, I>::Redeposited {
class,
successful_instances: successful,
});
Ok(()) Ok(())
} }
@@ -580,7 +610,7 @@ pub mod pallet {
details.is_frozen = true; details.is_frozen = true;
Asset::<T, I>::insert(&class, &instance, &details); Asset::<T, I>::insert(&class, &instance, &details);
Self::deposit_event(Event::<T, I>::Frozen(class, instance)); Self::deposit_event(Event::<T, I>::Frozen { class, instance });
Ok(()) Ok(())
} }
@@ -610,7 +640,7 @@ pub mod pallet {
details.is_frozen = false; details.is_frozen = false;
Asset::<T, I>::insert(&class, &instance, &details); Asset::<T, I>::insert(&class, &instance, &details);
Self::deposit_event(Event::<T, I>::Thawed(class, instance)); Self::deposit_event(Event::<T, I>::Thawed { class, instance });
Ok(()) Ok(())
} }
@@ -636,7 +666,7 @@ pub mod pallet {
details.is_frozen = true; details.is_frozen = true;
Self::deposit_event(Event::<T, I>::ClassFrozen(class)); Self::deposit_event(Event::<T, I>::ClassFrozen { class });
Ok(()) Ok(())
}) })
} }
@@ -663,7 +693,7 @@ pub mod pallet {
details.is_frozen = false; details.is_frozen = false;
Self::deposit_event(Event::<T, I>::ClassThawed(class)); Self::deposit_event(Event::<T, I>::ClassThawed { class });
Ok(()) Ok(())
}) })
} }
@@ -703,7 +733,7 @@ pub mod pallet {
)?; )?;
details.owner = owner.clone(); details.owner = owner.clone();
Self::deposit_event(Event::OwnerChanged(class, owner)); Self::deposit_event(Event::OwnerChanged { class, new_owner: owner });
Ok(()) Ok(())
}) })
} }
@@ -741,7 +771,7 @@ pub mod pallet {
details.admin = admin.clone(); details.admin = admin.clone();
details.freezer = freezer.clone(); details.freezer = freezer.clone();
Self::deposit_event(Event::TeamChanged(class, issuer, admin, freezer)); Self::deposit_event(Event::TeamChanged { class, issuer, admin, freezer });
Ok(()) Ok(())
}) })
} }
@@ -783,7 +813,12 @@ pub mod pallet {
Asset::<T, I>::insert(&class, &instance, &details); Asset::<T, I>::insert(&class, &instance, &details);
let delegate = details.approved.expect("set as Some above; qed"); let delegate = details.approved.expect("set as Some above; qed");
Self::deposit_event(Event::ApprovedTransfer(class, instance, details.owner, delegate)); Self::deposit_event(Event::ApprovedTransfer {
class,
instance,
owner: details.owner,
delegate,
});
Ok(()) Ok(())
} }
@@ -829,7 +864,12 @@ pub mod pallet {
} }
Asset::<T, I>::insert(&class, &instance, &details); Asset::<T, I>::insert(&class, &instance, &details);
Self::deposit_event(Event::ApprovalCancelled(class, instance, details.owner, old)); Self::deposit_event(Event::ApprovalCancelled {
class,
instance,
owner: details.owner,
delegate: old,
});
Ok(()) Ok(())
} }
@@ -874,7 +914,7 @@ pub mod pallet {
asset.is_frozen = is_frozen; asset.is_frozen = is_frozen;
*maybe_asset = Some(asset); *maybe_asset = Some(asset);
Self::deposit_event(Event::AssetStatusChanged(class)); Self::deposit_event(Event::AssetStatusChanged { class });
Ok(()) Ok(())
}) })
} }
@@ -940,7 +980,7 @@ pub mod pallet {
Attribute::<T, I>::insert((&class, maybe_instance, &key), (&value, deposit)); Attribute::<T, I>::insert((&class, maybe_instance, &key), (&value, deposit));
Class::<T, I>::insert(class, &class_details); Class::<T, I>::insert(class, &class_details);
Self::deposit_event(Event::AttributeSet(class, maybe_instance, key, value)); Self::deposit_event(Event::AttributeSet { class, maybe_instance, key, value });
Ok(()) Ok(())
} }
@@ -988,7 +1028,7 @@ pub mod pallet {
class_details.total_deposit.saturating_reduce(deposit); class_details.total_deposit.saturating_reduce(deposit);
T::Currency::unreserve(&class_details.owner, deposit); T::Currency::unreserve(&class_details.owner, deposit);
Class::<T, I>::insert(class, &class_details); Class::<T, I>::insert(class, &class_details);
Self::deposit_event(Event::AttributeCleared(class, maybe_instance, key)); Self::deposit_event(Event::AttributeCleared { class, maybe_instance, key });
} }
Ok(()) Ok(())
} }
@@ -1053,7 +1093,7 @@ pub mod pallet {
*metadata = Some(InstanceMetadata { deposit, data: data.clone(), is_frozen }); *metadata = Some(InstanceMetadata { deposit, data: data.clone(), is_frozen });
Class::<T, I>::insert(&class, &class_details); Class::<T, I>::insert(&class, &class_details);
Self::deposit_event(Event::MetadataSet(class, instance, data, is_frozen)); Self::deposit_event(Event::MetadataSet { class, instance, data, is_frozen });
Ok(()) Ok(())
}) })
} }
@@ -1098,7 +1138,7 @@ pub mod pallet {
class_details.total_deposit.saturating_reduce(deposit); class_details.total_deposit.saturating_reduce(deposit);
Class::<T, I>::insert(&class, &class_details); Class::<T, I>::insert(&class, &class_details);
Self::deposit_event(Event::MetadataCleared(class, instance)); Self::deposit_event(Event::MetadataCleared { class, instance });
Ok(()) Ok(())
}) })
} }
@@ -1158,7 +1198,7 @@ pub mod pallet {
*metadata = Some(ClassMetadata { deposit, data: data.clone(), is_frozen }); *metadata = Some(ClassMetadata { deposit, data: data.clone(), is_frozen });
Self::deposit_event(Event::ClassMetadataSet(class, data, is_frozen)); Self::deposit_event(Event::ClassMetadataSet { class, data, is_frozen });
Ok(()) Ok(())
}) })
} }
@@ -1195,7 +1235,7 @@ pub mod pallet {
let deposit = metadata.take().ok_or(Error::<T, I>::Unknown)?.deposit; let deposit = metadata.take().ok_or(Error::<T, I>::Unknown)?.deposit;
T::Currency::unreserve(&details.owner, deposit); T::Currency::unreserve(&details.owner, deposit);
Self::deposit_event(Event::ClassMetadataCleared(class)); Self::deposit_event(Event::ClassMetadataCleared { class });
Ok(()) Ok(())
}) })
} }
+6 -3
View File
@@ -109,8 +109,8 @@ pub mod pallet {
#[pallet::generate_deposit(pub(super) fn deposit_event)] #[pallet::generate_deposit(pub(super) fn deposit_event)]
pub enum Event { pub enum Event {
/// Batch of dispatches did not complete fully. Index of first failing dispatch given, as /// Batch of dispatches did not complete fully. Index of first failing dispatch given, as
/// well as the error. \[index, error\] /// well as the error.
BatchInterrupted(u32, DispatchError), BatchInterrupted { index: u32, error: DispatchError },
/// Batch of dispatches completed fully with no error. /// Batch of dispatches completed fully with no error.
BatchCompleted, BatchCompleted,
/// A single item within a Batch of dispatches has completed with no error. /// A single item within a Batch of dispatches has completed with no error.
@@ -217,7 +217,10 @@ pub mod pallet {
// Add the weight of this call. // Add the weight of this call.
weight = weight.saturating_add(extract_actual_weight(&result, &info)); weight = weight.saturating_add(extract_actual_weight(&result, &info));
if let Err(e) = result { if let Err(e) = result {
Self::deposit_event(Event::BatchInterrupted(index as u32, e.error)); Self::deposit_event(Event::BatchInterrupted {
index: index as u32,
error: e.error,
});
// Take the weight of this function itself into account. // Take the weight of this function itself into account.
let base_weight = T::WeightInfo::batch(index.saturating_add(1) as u32); let base_weight = T::WeightInfo::batch(index.saturating_add(1) as u32);
// Return the actual used weight + base_weight of this call. // Return the actual used weight + base_weight of this call.
+13 -7
View File
@@ -339,8 +339,11 @@ fn batch_with_signed_filters() {
vec![Call::Balances(pallet_balances::Call::transfer_keep_alive { dest: 2, value: 1 })] vec![Call::Balances(pallet_balances::Call::transfer_keep_alive { dest: 2, value: 1 })]
),); ),);
System::assert_last_event( System::assert_last_event(
utility::Event::BatchInterrupted(0, frame_system::Error::<Test>::CallFiltered.into()) utility::Event::BatchInterrupted {
.into(), index: 0,
error: frame_system::Error::<Test>::CallFiltered.into(),
}
.into(),
); );
}); });
} }
@@ -411,7 +414,7 @@ fn batch_handles_weight_refund() {
let result = call.dispatch(Origin::signed(1)); let result = call.dispatch(Origin::signed(1));
assert_ok!(result); assert_ok!(result);
System::assert_last_event( System::assert_last_event(
utility::Event::BatchInterrupted(1, DispatchError::Other("")).into(), utility::Event::BatchInterrupted { index: 1, error: DispatchError::Other("") }.into(),
); );
// No weight is refunded // No weight is refunded
assert_eq!(extract_actual_weight(&result, &info), info.weight); assert_eq!(extract_actual_weight(&result, &info), info.weight);
@@ -426,7 +429,7 @@ fn batch_handles_weight_refund() {
let result = call.dispatch(Origin::signed(1)); let result = call.dispatch(Origin::signed(1));
assert_ok!(result); assert_ok!(result);
System::assert_last_event( System::assert_last_event(
utility::Event::BatchInterrupted(1, DispatchError::Other("")).into(), utility::Event::BatchInterrupted { index: 1, error: DispatchError::Other("") }.into(),
); );
assert_eq!(extract_actual_weight(&result, &info), info.weight - diff * batch_len); assert_eq!(extract_actual_weight(&result, &info), info.weight - diff * batch_len);
@@ -439,7 +442,7 @@ fn batch_handles_weight_refund() {
let result = call.dispatch(Origin::signed(1)); let result = call.dispatch(Origin::signed(1));
assert_ok!(result); assert_ok!(result);
System::assert_last_event( System::assert_last_event(
utility::Event::BatchInterrupted(1, DispatchError::Other("")).into(), utility::Event::BatchInterrupted { index: 1, error: DispatchError::Other("") }.into(),
); );
assert_eq!( assert_eq!(
extract_actual_weight(&result, &info), extract_actual_weight(&result, &info),
@@ -587,8 +590,11 @@ fn batch_all_does_not_nest() {
// and balances. // and balances.
assert_ok!(Utility::batch_all(Origin::signed(1), vec![batch_nested])); assert_ok!(Utility::batch_all(Origin::signed(1), vec![batch_nested]));
System::assert_has_event( System::assert_has_event(
utility::Event::BatchInterrupted(0, frame_system::Error::<Test>::CallFiltered.into()) utility::Event::BatchInterrupted {
.into(), index: 0,
error: frame_system::Error::<Test>::CallFiltered.into(),
}
.into(),
); );
assert_eq!(Balances::free_balance(1), 10); assert_eq!(Balances::free_balance(1), 10);
assert_eq!(Balances::free_balance(2), 10); assert_eq!(Balances::free_balance(2), 10);
+15 -12
View File
@@ -104,9 +104,9 @@ enum VestingAction {
/// Do not actively remove any schedules. /// Do not actively remove any schedules.
Passive, Passive,
/// Remove the schedule specified by the index. /// Remove the schedule specified by the index.
Remove(usize), Remove { index: usize },
/// Remove the two schedules, specified by index, so they can be merged. /// Remove the two schedules, specified by index, so they can be merged.
Merge(usize, usize), Merge { index1: usize, index2: usize },
} }
impl VestingAction { impl VestingAction {
@@ -114,8 +114,8 @@ impl VestingAction {
fn should_remove(&self, index: usize) -> bool { fn should_remove(&self, index: usize) -> bool {
match self { match self {
Self::Passive => false, Self::Passive => false,
Self::Remove(index1) => *index1 == index, Self::Remove { index: index1 } => *index1 == index,
Self::Merge(index1, index2) => *index1 == index || *index2 == index, Self::Merge { index1, index2 } => *index1 == index || *index2 == index,
} }
} }
@@ -279,10 +279,9 @@ pub mod pallet {
pub enum Event<T: Config> { pub enum Event<T: Config> {
/// The amount vested has been updated. This could indicate a change in funds available. /// The amount vested has been updated. This could indicate a change in funds available.
/// The balance given is the amount which is left unvested (and thus locked). /// The balance given is the amount which is left unvested (and thus locked).
/// \[account, unvested\] VestingUpdated { account: T::AccountId, unvested: BalanceOf<T> },
VestingUpdated(T::AccountId, BalanceOf<T>),
/// An \[account\] has become fully vested. /// An \[account\] has become fully vested.
VestingCompleted(T::AccountId), VestingCompleted { account: T::AccountId },
} }
/// Error for the vesting pallet. /// Error for the vesting pallet.
@@ -450,7 +449,8 @@ pub mod pallet {
let schedule2_index = schedule2_index as usize; let schedule2_index = schedule2_index as usize;
let schedules = Self::vesting(&who).ok_or(Error::<T>::NotVesting)?; let schedules = Self::vesting(&who).ok_or(Error::<T>::NotVesting)?;
let merge_action = VestingAction::Merge(schedule1_index, schedule2_index); let merge_action =
VestingAction::Merge { index1: schedule1_index, index2: schedule2_index };
let (schedules, locked_now) = Self::exec_action(schedules.to_vec(), merge_action)?; let (schedules, locked_now) = Self::exec_action(schedules.to_vec(), merge_action)?;
@@ -590,11 +590,14 @@ impl<T: Config> Pallet<T> {
fn write_lock(who: &T::AccountId, total_locked_now: BalanceOf<T>) { fn write_lock(who: &T::AccountId, total_locked_now: BalanceOf<T>) {
if total_locked_now.is_zero() { if total_locked_now.is_zero() {
T::Currency::remove_lock(VESTING_ID, who); T::Currency::remove_lock(VESTING_ID, who);
Self::deposit_event(Event::<T>::VestingCompleted(who.clone())); Self::deposit_event(Event::<T>::VestingCompleted { account: who.clone() });
} else { } else {
let reasons = WithdrawReasons::TRANSFER | WithdrawReasons::RESERVE; let reasons = WithdrawReasons::TRANSFER | WithdrawReasons::RESERVE;
T::Currency::set_lock(VESTING_ID, who, total_locked_now, reasons); T::Currency::set_lock(VESTING_ID, who, total_locked_now, reasons);
Self::deposit_event(Event::<T>::VestingUpdated(who.clone(), total_locked_now)); Self::deposit_event(Event::<T>::VestingUpdated {
account: who.clone(),
unvested: total_locked_now,
});
}; };
} }
@@ -637,7 +640,7 @@ impl<T: Config> Pallet<T> {
action: VestingAction, action: VestingAction,
) -> Result<(Vec<VestingInfo<BalanceOf<T>, T::BlockNumber>>, BalanceOf<T>), DispatchError> { ) -> Result<(Vec<VestingInfo<BalanceOf<T>, T::BlockNumber>>, BalanceOf<T>), DispatchError> {
let (schedules, locked_now) = match action { let (schedules, locked_now) = match action {
VestingAction::Merge(idx1, idx2) => { VestingAction::Merge { index1: idx1, index2: idx2 } => {
// The schedule index is based off of the schedule ordering prior to filtering out // The schedule index is based off of the schedule ordering prior to filtering out
// any schedules that may be ending at this block. // any schedules that may be ending at this block.
let schedule1 = *schedules.get(idx1).ok_or(Error::<T>::ScheduleIndexOutOfBounds)?; let schedule1 = *schedules.get(idx1).ok_or(Error::<T>::ScheduleIndexOutOfBounds)?;
@@ -762,7 +765,7 @@ where
/// Remove a vesting schedule for a given account. /// Remove a vesting schedule for a given account.
fn remove_vesting_schedule(who: &T::AccountId, schedule_index: u32) -> DispatchResult { fn remove_vesting_schedule(who: &T::AccountId, schedule_index: u32) -> DispatchResult {
let schedules = Self::vesting(who).ok_or(Error::<T>::NotVesting)?; let schedules = Self::vesting(who).ok_or(Error::<T>::NotVesting)?;
let remove_action = VestingAction::Remove(schedule_index as usize); let remove_action = VestingAction::Remove { index: schedule_index as usize };
let (schedules, locked_now) = Self::exec_action(schedules.to_vec(), remove_action)?; let (schedules, locked_now) = Self::exec_action(schedules.to_vec(), remove_action)?;