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 {
phase: Phase::Initialization,
event: MetaEvent::Utility(pallet_utility::Event::BatchInterrupted(
1,
frame_system::Error::<Test>::CallFiltered.into()
),),
event: MetaEvent::Utility(pallet_utility::Event::BatchInterrupted {
index: 1,
error: frame_system::Error::<Test>::CallFiltered.into()
},),
topics: vec![],
},
]
+4 -2
View File
@@ -369,7 +369,8 @@ fn filtering_works() {
);
assert_ok!(Proxy::proxy(Origin::signed(4), 1, None, call.clone()));
expect_events(vec![
UtilityEvent::BatchInterrupted(0, SystemError::CallFiltered.into()).into(),
UtilityEvent::BatchInterrupted { index: 0, error: SystemError::CallFiltered.into() }
.into(),
ProxyEvent::ProxyExecuted(Ok(())).into(),
]);
@@ -387,7 +388,8 @@ fn filtering_works() {
);
assert_ok!(Proxy::proxy(Origin::signed(4), 1, None, call.clone()));
expect_events(vec![
UtilityEvent::BatchInterrupted(0, SystemError::CallFiltered.into()).into(),
UtilityEvent::BatchInterrupted { index: 0, error: SystemError::CallFiltered.into() }
.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());
}: _(SystemOrigin::Signed(caller.clone()), Default::default(), caller_lookup)
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 {
@@ -149,7 +149,7 @@ benchmarks_instance_pallet! {
let caller_lookup = T::Lookup::unlookup(caller.clone());
}: _(SystemOrigin::Root, Default::default(), caller_lookup, true)
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 {
@@ -171,7 +171,7 @@ benchmarks_instance_pallet! {
let witness = Class::<T, I>::get(class).unwrap().destroy_witness();
}: _(SystemOrigin::Signed(caller), class, witness)
verify {
assert_last_event::<T, I>(Event::Destroyed(class).into());
assert_last_event::<T, I>(Event::Destroyed { class: class }.into());
}
mint {
@@ -179,7 +179,7 @@ benchmarks_instance_pallet! {
let instance = Default::default();
}: _(SystemOrigin::Signed(caller.clone()), class, instance, caller_lookup)
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 {
@@ -187,7 +187,7 @@ benchmarks_instance_pallet! {
let (instance, ..) = mint_instance::<T, I>(0);
}: _(SystemOrigin::Signed(caller.clone()), class, instance, Some(caller_lookup))
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 {
@@ -198,7 +198,7 @@ benchmarks_instance_pallet! {
let target_lookup = T::Lookup::unlookup(target.clone());
}: _(SystemOrigin::Signed(caller.clone()), class, instance, target_lookup)
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 {
@@ -217,7 +217,7 @@ benchmarks_instance_pallet! {
)?;
}: _(SystemOrigin::Signed(caller.clone()), class, instances.clone())
verify {
assert_last_event::<T, I>(Event::Redeposited(class, instances).into());
assert_last_event::<T, I>(Event::Redeposited { class, successful_instances: instances }.into());
}
freeze {
@@ -225,7 +225,7 @@ benchmarks_instance_pallet! {
let (instance, ..) = mint_instance::<T, I>(Default::default());
}: _(SystemOrigin::Signed(caller.clone()), Default::default(), Default::default())
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 {
@@ -238,14 +238,14 @@ benchmarks_instance_pallet! {
)?;
}: _(SystemOrigin::Signed(caller.clone()), class, instance)
verify {
assert_last_event::<T, I>(Event::Thawed(class, instance).into());
assert_last_event::<T, I>(Event::Thawed { class, instance }.into());
}
freeze_class {
let (class, caller, caller_lookup) = create_class::<T, I>();
}: _(SystemOrigin::Signed(caller.clone()), class)
verify {
assert_last_event::<T, I>(Event::ClassFrozen(class).into());
assert_last_event::<T, I>(Event::ClassFrozen { class }.into());
}
thaw_class {
@@ -254,7 +254,7 @@ benchmarks_instance_pallet! {
Uniques::<T, I>::freeze_class(origin, class)?;
}: _(SystemOrigin::Signed(caller.clone()), class)
verify {
assert_last_event::<T, I>(Event::ClassThawed(class).into());
assert_last_event::<T, I>(Event::ClassThawed { class }.into());
}
transfer_ownership {
@@ -264,7 +264,7 @@ benchmarks_instance_pallet! {
T::Currency::make_free_balance_be(&target, T::Currency::minimum_balance());
}: _(SystemOrigin::Signed(caller), class, target_lookup)
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 {
@@ -274,12 +274,12 @@ benchmarks_instance_pallet! {
let target2 = T::Lookup::unlookup(account("target", 2, SEED));
}: _(SystemOrigin::Signed(caller), Default::default(), target0.clone(), target1.clone(), target2.clone())
verify {
assert_last_event::<T, I>(Event::TeamChanged(
assert_last_event::<T, I>(Event::TeamChanged{
class,
account("target", 0, SEED),
account("target", 1, SEED),
account("target", 2, SEED),
).into());
issuer: account("target", 0, SEED),
admin: account("target", 1, SEED),
freezer: account("target", 2, SEED),
}.into());
}
force_asset_status {
@@ -296,7 +296,7 @@ benchmarks_instance_pallet! {
};
}: { call.dispatch_bypass_filter(origin)? }
verify {
assert_last_event::<T, I>(Event::AssetStatusChanged(class).into());
assert_last_event::<T, I>(Event::AssetStatusChanged { class }.into());
}
set_attribute {
@@ -308,7 +308,7 @@ benchmarks_instance_pallet! {
add_instance_metadata::<T, I>(instance);
}: _(SystemOrigin::Signed(caller), class, Some(instance), key.clone(), value.clone())
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 {
@@ -318,7 +318,7 @@ benchmarks_instance_pallet! {
let (key, ..) = add_instance_attribute::<T, I>(instance);
}: _(SystemOrigin::Signed(caller), class, Some(instance), key.clone())
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 {
@@ -328,7 +328,7 @@ benchmarks_instance_pallet! {
let (instance, ..) = mint_instance::<T, I>(0);
}: _(SystemOrigin::Signed(caller), class, instance, data.clone(), false)
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 {
@@ -337,7 +337,7 @@ benchmarks_instance_pallet! {
add_instance_metadata::<T, I>(instance);
}: _(SystemOrigin::Signed(caller), class, instance)
verify {
assert_last_event::<T, I>(Event::MetadataCleared(class, instance).into());
assert_last_event::<T, I>(Event::MetadataCleared { class, instance }.into());
}
set_class_metadata {
@@ -346,7 +346,7 @@ benchmarks_instance_pallet! {
let (class, caller, _) = create_class::<T, I>();
}: _(SystemOrigin::Signed(caller), class, data.clone(), false)
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 {
@@ -354,7 +354,7 @@ benchmarks_instance_pallet! {
add_class_metadata::<T, I>();
}: _(SystemOrigin::Signed(caller), class)
verify {
assert_last_event::<T, I>(Event::ClassMetadataCleared(class).into());
assert_last_event::<T, I>(Event::ClassMetadataCleared { class }.into());
}
approve_transfer {
@@ -364,7 +364,7 @@ benchmarks_instance_pallet! {
let delegate_lookup = T::Lookup::unlookup(delegate.clone());
}: _(SystemOrigin::Signed(caller.clone()), class, instance, delegate_lookup)
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 {
@@ -376,7 +376,7 @@ benchmarks_instance_pallet! {
Uniques::<T, I>::approve_transfer(origin, class, instance, delegate_lookup.clone())?;
}: _(SystemOrigin::Signed(caller.clone()), class, instance, Some(delegate_lookup))
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);
+9 -4
View File
@@ -44,7 +44,12 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
details.owner = dest;
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(())
}
@@ -105,7 +110,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Attribute::<T, I>::remove_prefix((&class,), None);
T::Currency::unreserve(&class_details.owner, class_details.total_deposit);
Self::deposit_event(Event::Destroyed(class));
Self::deposit_event(Event::Destroyed { class });
Ok(DestroyWitness {
instances: class_details.instances,
@@ -146,7 +151,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Ok(())
})?;
Self::deposit_event(Event::Issued(class, instance, owner));
Self::deposit_event(Event::Issued { class, instance, owner });
Ok(())
}
@@ -174,7 +179,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
Asset::<T, I>::remove(&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(())
}
}
@@ -98,7 +98,7 @@ impl<T: Config<I>, I: 'static> Create<<T as SystemConfig>::AccountId> for Pallet
admin.clone(),
T::ClassDeposit::get(),
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::generate_deposit(pub(super) fn deposit_event)]
pub enum Event<T: Config<I>, I: 'static = ()> {
/// An asset class was created. \[ class, creator, owner \]
Created(T::ClassId, T::AccountId, T::AccountId),
/// An asset class was force-created. \[ class, owner \]
ForceCreated(T::ClassId, T::AccountId),
/// An asset `class` was destroyed. \[ class \]
Destroyed(T::ClassId),
/// An asset `instance` was issued. \[ class, instance, owner \]
Issued(T::ClassId, T::InstanceId, T::AccountId),
/// An asset `instance` was transferred. \[ class, instance, from, to \]
Transferred(T::ClassId, T::InstanceId, T::AccountId, T::AccountId),
/// An asset `instance` was destroyed. \[ class, instance, owner \]
Burned(T::ClassId, T::InstanceId, T::AccountId),
/// Some asset `instance` was frozen. \[ class, instance \]
Frozen(T::ClassId, T::InstanceId),
/// Some asset `instance` was thawed. \[ class, instance \]
Thawed(T::ClassId, T::InstanceId),
/// Some asset `class` was frozen. \[ class \]
ClassFrozen(T::ClassId),
/// Some asset `class` was thawed. \[ class \]
ClassThawed(T::ClassId),
/// The owner changed \[ class, new_owner \]
OwnerChanged(T::ClassId, T::AccountId),
/// The management team changed \[ class, issuer, admin, freezer \]
TeamChanged(T::ClassId, T::AccountId, T::AccountId, T::AccountId),
/// An asset class was created.
Created { class: T::ClassId, creator: T::AccountId, owner: T::AccountId },
/// An asset class was force-created.
ForceCreated { class: T::ClassId, owner: T::AccountId },
/// An asset `class` was destroyed.
Destroyed { class: T::ClassId },
/// An asset `instance` was issued.
Issued { class: T::ClassId, instance: T::InstanceId, owner: T::AccountId },
/// An asset `instance` was transferred.
Transferred {
class: T::ClassId,
instance: T::InstanceId,
from: T::AccountId,
to: T::AccountId,
},
/// An asset `instance` was destroyed.
Burned { class: T::ClassId, instance: T::InstanceId, owner: T::AccountId },
/// Some asset `instance` was frozen.
Frozen { class: T::ClassId, instance: T::InstanceId },
/// Some asset `instance` was thawed.
Thawed { class: T::ClassId, instance: T::InstanceId },
/// Some asset `class` was frozen.
ClassFrozen { class: T::ClassId },
/// 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
/// `delegate`.
/// \[ class, instance, owner, delegate \]
ApprovedTransfer(T::ClassId, T::InstanceId, T::AccountId, T::AccountId),
ApprovedTransfer {
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
/// cancelled by its `owner`.
/// \[ class, instance, owner, delegate \]
ApprovalCancelled(T::ClassId, T::InstanceId, T::AccountId, T::AccountId),
ApprovalCancelled {
class: T::ClassId,
instance: T::InstanceId,
owner: T::AccountId,
delegate: T::AccountId,
},
/// An asset `class` has had its attributes changed by the `Force` origin.
/// \[ class \]
AssetStatusChanged(T::ClassId),
/// New metadata has been set for an asset class. \[ class, data, is_frozen \]
ClassMetadataSet(T::ClassId, BoundedVec<u8, T::StringLimit>, bool),
/// Metadata has been cleared for an asset class. \[ class \]
ClassMetadataCleared(T::ClassId),
AssetStatusChanged { class: T::ClassId },
/// New metadata has been set for an asset class.
ClassMetadataSet {
class: T::ClassId,
data: BoundedVec<u8, T::StringLimit>,
is_frozen: bool,
},
/// Metadata has been cleared for an asset class.
ClassMetadataCleared { class: T::ClassId },
/// New metadata has been set for an asset instance.
/// \[ class, instance, data, is_frozen \]
MetadataSet(T::ClassId, T::InstanceId, BoundedVec<u8, T::StringLimit>, bool),
/// Metadata has been cleared for an asset instance. \[ class, instance \]
MetadataCleared(T::ClassId, T::InstanceId),
/// Metadata has been cleared for an asset instance. \[ class, successful_instances \]
Redeposited(T::ClassId, Vec<T::InstanceId>),
MetadataSet {
class: T::ClassId,
instance: T::InstanceId,
data: BoundedVec<u8, T::StringLimit>,
is_frozen: bool,
},
/// 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.
/// \[ class, maybe_instance, key, value \]
AttributeSet(
T::ClassId,
Option<T::InstanceId>,
BoundedVec<u8, T::KeyLimit>,
BoundedVec<u8, T::ValueLimit>,
),
AttributeSet {
class: T::ClassId,
maybe_instance: Option<T::InstanceId>,
key: BoundedVec<u8, T::KeyLimit>,
value: BoundedVec<u8, T::ValueLimit>,
},
/// Attribute metadata has been cleared for an asset class or instance.
/// \[ class, maybe_instance, key, maybe_value \]
AttributeCleared(T::ClassId, Option<T::InstanceId>, BoundedVec<u8, T::KeyLimit>),
AttributeCleared {
class: T::ClassId,
maybe_instance: Option<T::InstanceId>,
key: BoundedVec<u8, T::KeyLimit>,
},
}
#[pallet::error]
@@ -317,7 +344,7 @@ pub mod pallet {
admin.clone(),
T::ClassDeposit::get(),
false,
Event::Created(class, owner, admin),
Event::Created { class, creator: owner, owner: admin },
)
}
@@ -353,7 +380,7 @@ pub mod pallet {
owner.clone(),
Zero::zero(),
free_holding,
Event::ForceCreated(class, owner),
Event::ForceCreated { class, owner },
)
}
@@ -549,7 +576,10 @@ pub mod pallet {
}
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(())
}
@@ -580,7 +610,7 @@ pub mod pallet {
details.is_frozen = true;
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(())
}
@@ -610,7 +640,7 @@ pub mod pallet {
details.is_frozen = false;
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(())
}
@@ -636,7 +666,7 @@ pub mod pallet {
details.is_frozen = true;
Self::deposit_event(Event::<T, I>::ClassFrozen(class));
Self::deposit_event(Event::<T, I>::ClassFrozen { class });
Ok(())
})
}
@@ -663,7 +693,7 @@ pub mod pallet {
details.is_frozen = false;
Self::deposit_event(Event::<T, I>::ClassThawed(class));
Self::deposit_event(Event::<T, I>::ClassThawed { class });
Ok(())
})
}
@@ -703,7 +733,7 @@ pub mod pallet {
)?;
details.owner = owner.clone();
Self::deposit_event(Event::OwnerChanged(class, owner));
Self::deposit_event(Event::OwnerChanged { class, new_owner: owner });
Ok(())
})
}
@@ -741,7 +771,7 @@ pub mod pallet {
details.admin = admin.clone();
details.freezer = freezer.clone();
Self::deposit_event(Event::TeamChanged(class, issuer, admin, freezer));
Self::deposit_event(Event::TeamChanged { class, issuer, admin, freezer });
Ok(())
})
}
@@ -783,7 +813,12 @@ pub mod pallet {
Asset::<T, I>::insert(&class, &instance, &details);
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(())
}
@@ -829,7 +864,12 @@ pub mod pallet {
}
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(())
}
@@ -874,7 +914,7 @@ pub mod pallet {
asset.is_frozen = is_frozen;
*maybe_asset = Some(asset);
Self::deposit_event(Event::AssetStatusChanged(class));
Self::deposit_event(Event::AssetStatusChanged { class });
Ok(())
})
}
@@ -940,7 +980,7 @@ pub mod pallet {
Attribute::<T, I>::insert((&class, maybe_instance, &key), (&value, deposit));
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(())
}
@@ -988,7 +1028,7 @@ pub mod pallet {
class_details.total_deposit.saturating_reduce(deposit);
T::Currency::unreserve(&class_details.owner, deposit);
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(())
}
@@ -1053,7 +1093,7 @@ pub mod pallet {
*metadata = Some(InstanceMetadata { deposit, data: data.clone(), is_frozen });
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(())
})
}
@@ -1098,7 +1138,7 @@ pub mod pallet {
class_details.total_deposit.saturating_reduce(deposit);
Class::<T, I>::insert(&class, &class_details);
Self::deposit_event(Event::MetadataCleared(class, instance));
Self::deposit_event(Event::MetadataCleared { class, instance });
Ok(())
})
}
@@ -1158,7 +1198,7 @@ pub mod pallet {
*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(())
})
}
@@ -1195,7 +1235,7 @@ pub mod pallet {
let deposit = metadata.take().ok_or(Error::<T, I>::Unknown)?.deposit;
T::Currency::unreserve(&details.owner, deposit);
Self::deposit_event(Event::ClassMetadataCleared(class));
Self::deposit_event(Event::ClassMetadataCleared { class });
Ok(())
})
}
+6 -3
View File
@@ -109,8 +109,8 @@ pub mod pallet {
#[pallet::generate_deposit(pub(super) fn deposit_event)]
pub enum Event {
/// Batch of dispatches did not complete fully. Index of first failing dispatch given, as
/// well as the error. \[index, error\]
BatchInterrupted(u32, DispatchError),
/// well as the error.
BatchInterrupted { index: u32, error: DispatchError },
/// Batch of dispatches completed fully with no error.
BatchCompleted,
/// 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.
weight = weight.saturating_add(extract_actual_weight(&result, &info));
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.
let base_weight = T::WeightInfo::batch(index.saturating_add(1) as u32);
// 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 })]
),);
System::assert_last_event(
utility::Event::BatchInterrupted(0, frame_system::Error::<Test>::CallFiltered.into())
.into(),
utility::Event::BatchInterrupted {
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));
assert_ok!(result);
System::assert_last_event(
utility::Event::BatchInterrupted(1, DispatchError::Other("")).into(),
utility::Event::BatchInterrupted { index: 1, error: DispatchError::Other("") }.into(),
);
// No weight is refunded
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));
assert_ok!(result);
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);
@@ -439,7 +442,7 @@ fn batch_handles_weight_refund() {
let result = call.dispatch(Origin::signed(1));
assert_ok!(result);
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),
@@ -587,8 +590,11 @@ fn batch_all_does_not_nest() {
// and balances.
assert_ok!(Utility::batch_all(Origin::signed(1), vec![batch_nested]));
System::assert_has_event(
utility::Event::BatchInterrupted(0, frame_system::Error::<Test>::CallFiltered.into())
.into(),
utility::Event::BatchInterrupted {
index: 0,
error: frame_system::Error::<Test>::CallFiltered.into(),
}
.into(),
);
assert_eq!(Balances::free_balance(1), 10);
assert_eq!(Balances::free_balance(2), 10);
+15 -12
View File
@@ -104,9 +104,9 @@ enum VestingAction {
/// Do not actively remove any schedules.
Passive,
/// Remove the schedule specified by the index.
Remove(usize),
Remove { index: usize },
/// Remove the two schedules, specified by index, so they can be merged.
Merge(usize, usize),
Merge { index1: usize, index2: usize },
}
impl VestingAction {
@@ -114,8 +114,8 @@ impl VestingAction {
fn should_remove(&self, index: usize) -> bool {
match self {
Self::Passive => false,
Self::Remove(index1) => *index1 == index,
Self::Merge(index1, index2) => *index1 == index || *index2 == index,
Self::Remove { index: index1 } => *index1 == index,
Self::Merge { index1, index2 } => *index1 == index || *index2 == index,
}
}
@@ -279,10 +279,9 @@ pub mod pallet {
pub enum Event<T: Config> {
/// 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).
/// \[account, unvested\]
VestingUpdated(T::AccountId, BalanceOf<T>),
VestingUpdated { account: T::AccountId, unvested: BalanceOf<T> },
/// An \[account\] has become fully vested.
VestingCompleted(T::AccountId),
VestingCompleted { account: T::AccountId },
}
/// Error for the vesting pallet.
@@ -450,7 +449,8 @@ pub mod pallet {
let schedule2_index = schedule2_index as usize;
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)?;
@@ -590,11 +590,14 @@ impl<T: Config> Pallet<T> {
fn write_lock(who: &T::AccountId, total_locked_now: BalanceOf<T>) {
if total_locked_now.is_zero() {
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 {
let reasons = WithdrawReasons::TRANSFER | WithdrawReasons::RESERVE;
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,
) -> Result<(Vec<VestingInfo<BalanceOf<T>, T::BlockNumber>>, BalanceOf<T>), DispatchError> {
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
// any schedules that may be ending at this block.
let schedule1 = *schedules.get(idx1).ok_or(Error::<T>::ScheduleIndexOutOfBounds)?;
@@ -762,7 +765,7 @@ where
/// Remove a vesting schedule for a given account.
fn remove_vesting_schedule(who: &T::AccountId, schedule_index: u32) -> DispatchResult {
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)?;