mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 09:17:58 +00:00
Add ClassAccount storage to unique pallet (#9940)
* add ClassAccount to uniques storage * add tests for Class and ClassAccount storage * fix format * fix description * add migration * remove extra iteration * Update frame/uniques/src/migration.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs * fix format Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Parity Bot <admin@parity.io> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
@@ -48,6 +48,15 @@ fn assets() -> Vec<(u64, u32, u32)> {
|
||||
r
|
||||
}
|
||||
|
||||
fn classes() -> Vec<(u64, u32)> {
|
||||
let mut r: Vec<_> = ClassAccount::<Test>::iter().map(|x| (x.0, x.1)).collect();
|
||||
r.sort();
|
||||
let mut s: Vec<_> = Class::<Test>::iter().map(|x| (x.1.owner, x.0)).collect();
|
||||
s.sort();
|
||||
assert_eq!(r, s);
|
||||
r
|
||||
}
|
||||
|
||||
macro_rules! bvec {
|
||||
($( $x:tt )*) => {
|
||||
vec![$( $x )*].try_into().unwrap()
|
||||
@@ -73,10 +82,12 @@ fn basic_setup_works() {
|
||||
fn basic_minting_should_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_ok!(Uniques::force_create(Origin::root(), 0, 1, true));
|
||||
assert_eq!(classes(), vec![(1, 0)]);
|
||||
assert_ok!(Uniques::mint(Origin::signed(1), 0, 42, 1));
|
||||
assert_eq!(assets(), vec![(1, 0, 42)]);
|
||||
|
||||
assert_ok!(Uniques::force_create(Origin::root(), 1, 2, true));
|
||||
assert_eq!(classes(), vec![(1, 0), (2, 1)]);
|
||||
assert_ok!(Uniques::mint(Origin::signed(2), 1, 69, 1));
|
||||
assert_eq!(assets(), vec![(1, 0, 42), (1, 1, 69)]);
|
||||
});
|
||||
@@ -88,7 +99,7 @@ fn lifecycle_should_work() {
|
||||
Balances::make_free_balance_be(&1, 100);
|
||||
assert_ok!(Uniques::create(Origin::signed(1), 0, 1));
|
||||
assert_eq!(Balances::reserved_balance(&1), 2);
|
||||
|
||||
assert_eq!(classes(), vec![(1, 0)]);
|
||||
assert_ok!(Uniques::set_class_metadata(Origin::signed(1), 0, bvec![0, 0], false));
|
||||
assert_eq!(Balances::reserved_balance(&1), 5);
|
||||
assert!(ClassMetadataOf::<Test>::contains_key(0));
|
||||
@@ -120,6 +131,7 @@ fn lifecycle_should_work() {
|
||||
assert!(!ClassMetadataOf::<Test>::contains_key(0));
|
||||
assert!(!InstanceMetadataOf::<Test>::contains_key(0, 42));
|
||||
assert!(!InstanceMetadataOf::<Test>::contains_key(0, 69));
|
||||
assert_eq!(classes(), vec![]);
|
||||
assert_eq!(assets(), vec![]);
|
||||
});
|
||||
}
|
||||
@@ -142,6 +154,7 @@ fn mint_should_work() {
|
||||
assert_ok!(Uniques::force_create(Origin::root(), 0, 1, true));
|
||||
assert_ok!(Uniques::mint(Origin::signed(1), 0, 42, 1));
|
||||
assert_eq!(Uniques::owner(0, 42).unwrap(), 1);
|
||||
assert_eq!(classes(), vec![(1, 0)]);
|
||||
assert_eq!(assets(), vec![(1, 0, 42)]);
|
||||
});
|
||||
}
|
||||
@@ -204,7 +217,9 @@ fn transfer_owner_should_work() {
|
||||
Balances::make_free_balance_be(&2, 100);
|
||||
Balances::make_free_balance_be(&3, 100);
|
||||
assert_ok!(Uniques::create(Origin::signed(1), 0, 1));
|
||||
assert_eq!(classes(), vec![(1, 0)]);
|
||||
assert_ok!(Uniques::transfer_ownership(Origin::signed(1), 0, 2));
|
||||
assert_eq!(classes(), vec![(2, 0)]);
|
||||
assert_eq!(Balances::total_balance(&1), 98);
|
||||
assert_eq!(Balances::total_balance(&2), 102);
|
||||
assert_eq!(Balances::reserved_balance(&1), 0);
|
||||
@@ -220,6 +235,7 @@ fn transfer_owner_should_work() {
|
||||
assert_ok!(Uniques::mint(Origin::signed(1), 0, 42, 1));
|
||||
assert_ok!(Uniques::set_metadata(Origin::signed(2), 0, 42, bvec![0u8; 20], false));
|
||||
assert_ok!(Uniques::transfer_ownership(Origin::signed(2), 0, 3));
|
||||
assert_eq!(classes(), vec![(3, 0)]);
|
||||
assert_eq!(Balances::total_balance(&2), 57);
|
||||
assert_eq!(Balances::total_balance(&3), 145);
|
||||
assert_eq!(Balances::reserved_balance(&2), 0);
|
||||
|
||||
Reference in New Issue
Block a user