mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 02:21:14 +00:00
Improve call, and usage in pallet utility (#9418)
* WIP * WIP * WIP * add some tests and limit * remove wip test * fmt * Update bin/node/runtime/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * fmt * use primitives allocation limit Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
27d4177f93
commit
38db14089b
@@ -77,7 +77,7 @@ fn create_sub_accounts<T: Config>(
|
||||
// Set identity so `set_subs` does not fail.
|
||||
let _ = T::Currency::make_free_balance_be(&who, BalanceOf::<T>::max_value());
|
||||
let info = create_identity_info::<T>(1);
|
||||
Identity::<T>::set_identity(who_origin.clone().into(), info)?;
|
||||
Identity::<T>::set_identity(who_origin.clone().into(), Box::new(info))?;
|
||||
|
||||
Ok(subs)
|
||||
}
|
||||
@@ -137,7 +137,7 @@ benchmarks! {
|
||||
|
||||
// Add an initial identity
|
||||
let initial_info = create_identity_info::<T>(1);
|
||||
Identity::<T>::set_identity(caller_origin.clone(), initial_info)?;
|
||||
Identity::<T>::set_identity(caller_origin.clone(), Box::new(initial_info))?;
|
||||
|
||||
// User requests judgement from all the registrars, and they approve
|
||||
for i in 0..r {
|
||||
@@ -151,7 +151,7 @@ benchmarks! {
|
||||
}
|
||||
caller
|
||||
};
|
||||
}: _(RawOrigin::Signed(caller.clone()), create_identity_info::<T>(x))
|
||||
}: _(RawOrigin::Signed(caller.clone()), Box::new(create_identity_info::<T>(x)))
|
||||
verify {
|
||||
assert_last_event::<T>(Event::<T>::IdentitySet(caller).into());
|
||||
}
|
||||
@@ -204,7 +204,7 @@ benchmarks! {
|
||||
let info = create_identity_info::<T>(x);
|
||||
let caller: T::AccountId = whitelisted_caller();
|
||||
let caller_origin = <T as frame_system::Config>::Origin::from(RawOrigin::Signed(caller));
|
||||
Identity::<T>::set_identity(caller_origin, info)?;
|
||||
Identity::<T>::set_identity(caller_origin, Box::new(info))?;
|
||||
};
|
||||
|
||||
// User requests judgement from all the registrars, and they approve
|
||||
@@ -233,7 +233,7 @@ benchmarks! {
|
||||
let info = create_identity_info::<T>(x);
|
||||
let caller: T::AccountId = whitelisted_caller();
|
||||
let caller_origin = <T as frame_system::Config>::Origin::from(RawOrigin::Signed(caller));
|
||||
Identity::<T>::set_identity(caller_origin, info)?;
|
||||
Identity::<T>::set_identity(caller_origin, Box::new(info))?;
|
||||
};
|
||||
}: _(RawOrigin::Signed(caller.clone()), r - 1, 10u32.into())
|
||||
verify {
|
||||
@@ -251,7 +251,7 @@ benchmarks! {
|
||||
let info = create_identity_info::<T>(x);
|
||||
let caller: T::AccountId = whitelisted_caller();
|
||||
let caller_origin = <T as frame_system::Config>::Origin::from(RawOrigin::Signed(caller));
|
||||
Identity::<T>::set_identity(caller_origin, info)?;
|
||||
Identity::<T>::set_identity(caller_origin, Box::new(info))?;
|
||||
};
|
||||
|
||||
Identity::<T>::request_judgement(caller_origin, r - 1, 10u32.into())?;
|
||||
@@ -321,7 +321,7 @@ benchmarks! {
|
||||
let r in 1 .. T::MaxRegistrars::get() - 1 => add_registrars::<T>(r)?;
|
||||
let x in 1 .. T::MaxAdditionalFields::get() => {
|
||||
let info = create_identity_info::<T>(x);
|
||||
Identity::<T>::set_identity(user_origin.clone(), info)?;
|
||||
Identity::<T>::set_identity(user_origin.clone(), Box::new(info))?;
|
||||
};
|
||||
|
||||
Identity::<T>::add_registrar(RawOrigin::Root.into(), caller.clone())?;
|
||||
@@ -342,7 +342,7 @@ benchmarks! {
|
||||
let _ = T::Currency::make_free_balance_be(&target, BalanceOf::<T>::max_value());
|
||||
|
||||
let info = create_identity_info::<T>(x);
|
||||
Identity::<T>::set_identity(target_origin.clone(), info)?;
|
||||
Identity::<T>::set_identity(target_origin.clone(), Box::new(info))?;
|
||||
let _ = add_sub_accounts::<T>(&target, s)?;
|
||||
|
||||
// User requests judgement from all the registrars, and they approve
|
||||
|
||||
@@ -335,7 +335,7 @@ pub mod pallet {
|
||||
))]
|
||||
pub fn set_identity(
|
||||
origin: OriginFor<T>,
|
||||
info: IdentityInfo<T::MaxAdditionalFields>,
|
||||
info: Box<IdentityInfo<T::MaxAdditionalFields>>,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
let sender = ensure_signed(origin)?;
|
||||
let extra_fields = info.additional.len() as u32;
|
||||
@@ -346,11 +346,14 @@ pub mod pallet {
|
||||
Some(mut id) => {
|
||||
// Only keep non-positive judgements.
|
||||
id.judgements.retain(|j| j.1.is_sticky());
|
||||
id.info = info;
|
||||
id.info = *info;
|
||||
id
|
||||
},
|
||||
None =>
|
||||
Registration { info, judgements: BoundedVec::default(), deposit: Zero::zero() },
|
||||
None => Registration {
|
||||
info: *info,
|
||||
judgements: BoundedVec::default(),
|
||||
deposit: Zero::zero(),
|
||||
},
|
||||
};
|
||||
|
||||
let old_deposit = id.deposit;
|
||||
|
||||
@@ -150,7 +150,7 @@ fn editing_subaccounts_should_work() {
|
||||
|
||||
assert_noop!(Identity::add_sub(Origin::signed(10), 20, data(1)), Error::<Test>::NoIdentity);
|
||||
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
|
||||
// first sub account
|
||||
assert_ok!(Identity::add_sub(Origin::signed(10), 1, data(1)));
|
||||
@@ -195,8 +195,8 @@ fn resolving_subaccount_ownership_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
let data = |x| Data::Raw(vec![x; 1].try_into().unwrap());
|
||||
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(20), twenty()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(20), Box::new(twenty())));
|
||||
|
||||
// 10 claims 1 as a subaccount
|
||||
assert_ok!(Identity::add_sub(Origin::signed(10), 1, data(1)));
|
||||
@@ -266,7 +266,7 @@ fn registration_should_work() {
|
||||
three_fields.additional.try_push(Default::default()).unwrap();
|
||||
three_fields.additional.try_push(Default::default()).unwrap();
|
||||
assert_eq!(three_fields.additional.try_push(Default::default()), Err(()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_eq!(Identity::identity(10).unwrap().info, ten());
|
||||
assert_eq!(Balances::free_balance(10), 90);
|
||||
assert_ok!(Identity::clear_identity(Origin::signed(10)));
|
||||
@@ -289,7 +289,7 @@ fn uninvited_judgement_should_work() {
|
||||
Error::<Test>::InvalidTarget
|
||||
);
|
||||
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_noop!(
|
||||
Identity::provide_judgement(Origin::signed(10), 0, 10, Judgement::Reasonable),
|
||||
Error::<Test>::InvalidIndex
|
||||
@@ -308,7 +308,7 @@ fn uninvited_judgement_should_work() {
|
||||
fn clearing_judgement_should_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_ok!(Identity::add_registrar(Origin::signed(1), 3));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_ok!(Identity::provide_judgement(Origin::signed(3), 0, 10, Judgement::Reasonable));
|
||||
assert_ok!(Identity::clear_identity(Origin::signed(10)));
|
||||
assert_eq!(Identity::identity(10), None);
|
||||
@@ -318,7 +318,7 @@ fn clearing_judgement_should_work() {
|
||||
#[test]
|
||||
fn killing_slashing_should_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_noop!(Identity::kill_identity(Origin::signed(1), 10), BadOrigin);
|
||||
assert_ok!(Identity::kill_identity(Origin::signed(2), 10));
|
||||
assert_eq!(Identity::identity(10), None);
|
||||
@@ -333,7 +333,7 @@ fn setting_subaccounts_should_work() {
|
||||
let mut subs = vec![(20, Data::Raw(vec![40; 1].try_into().unwrap()))];
|
||||
assert_noop!(Identity::set_subs(Origin::signed(10), subs.clone()), Error::<Test>::NotFound);
|
||||
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_ok!(Identity::set_subs(Origin::signed(10), subs.clone()));
|
||||
assert_eq!(Balances::free_balance(10), 80);
|
||||
assert_eq!(Identity::subs_of(10), (10, vec![20].try_into().unwrap()));
|
||||
@@ -374,7 +374,7 @@ fn setting_subaccounts_should_work() {
|
||||
#[test]
|
||||
fn clearing_account_should_remove_subaccounts_and_refund() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_ok!(Identity::set_subs(
|
||||
Origin::signed(10),
|
||||
vec![(20, Data::Raw(vec![40; 1].try_into().unwrap()))]
|
||||
@@ -388,7 +388,7 @@ fn clearing_account_should_remove_subaccounts_and_refund() {
|
||||
#[test]
|
||||
fn killing_account_should_remove_subaccounts_and_not_refund() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_ok!(Identity::set_subs(
|
||||
Origin::signed(10),
|
||||
vec![(20, Data::Raw(vec![40; 1].try_into().unwrap()))]
|
||||
@@ -405,7 +405,7 @@ fn cancelling_requested_judgement_should_work() {
|
||||
assert_ok!(Identity::add_registrar(Origin::signed(1), 3));
|
||||
assert_ok!(Identity::set_fee(Origin::signed(3), 0, 10));
|
||||
assert_noop!(Identity::cancel_request(Origin::signed(10), 0), Error::<Test>::NoIdentity);
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_ok!(Identity::request_judgement(Origin::signed(10), 0, 10));
|
||||
assert_ok!(Identity::cancel_request(Origin::signed(10), 0));
|
||||
assert_eq!(Balances::free_balance(10), 90);
|
||||
@@ -424,7 +424,7 @@ fn requesting_judgement_should_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_ok!(Identity::add_registrar(Origin::signed(1), 3));
|
||||
assert_ok!(Identity::set_fee(Origin::signed(3), 0, 10));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), ten()));
|
||||
assert_ok!(Identity::set_identity(Origin::signed(10), Box::new(ten())));
|
||||
assert_noop!(
|
||||
Identity::request_judgement(Origin::signed(10), 0, 9),
|
||||
Error::<Test>::FeeChanged
|
||||
@@ -465,7 +465,7 @@ fn field_deposit_should_work() {
|
||||
assert_ok!(Identity::set_fee(Origin::signed(3), 0, 10));
|
||||
assert_ok!(Identity::set_identity(
|
||||
Origin::signed(10),
|
||||
IdentityInfo {
|
||||
Box::new(IdentityInfo {
|
||||
additional: vec![
|
||||
(
|
||||
Data::Raw(b"number".to_vec().try_into().unwrap()),
|
||||
@@ -479,7 +479,7 @@ fn field_deposit_should_work() {
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
..Default::default()
|
||||
}
|
||||
})
|
||||
));
|
||||
assert_eq!(Balances::free_balance(10), 70);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user