Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
162 changes: 120 additions & 42 deletions substrate/frame/asset-conversion/ops/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,15 @@ fn migrate_pool_account_id_with_native() {
));

// assert user's balance.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &user), 10000 + ed);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &user), 10000 + ed);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(PoolAssets::balance(lp_token, &user), 216);

// record total issuances before migration.
let total_issuance_token1 = NativeAndAssets::total_issuance(token_1.clone());
let total_issuance_token2 = NativeAndAssets::total_issuance(token_2.clone());
let total_issuance_token1 =
<NativeAndAssets as Inspect<u64>>::total_issuance(token_1.clone());
let total_issuance_token2 =
<NativeAndAssets as Inspect<u64>>::total_issuance(token_2.clone());
let total_issuance_lp_token = PoolAssets::total_issuance(lp_token);

let pool_account = PoolLocator::address(&pool_id).unwrap();
Expand All @@ -78,8 +80,14 @@ fn migrate_pool_account_id_with_native() {
assert_eq!(pool_account, prior_pool_account);

// assert pool's balances before migration.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &prior_pool_account), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &prior_pool_account), 10);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &prior_pool_account),
10000
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &prior_pool_account),
10
);
assert_eq!(PoolAssets::balance(lp_token, &prior_pool_account), 100);

// migrate.
Expand All @@ -90,23 +98,41 @@ fn migrate_pool_account_id_with_native() {
));

// assert user's balance has not changed.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &user), 10000 + ed);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &user), 10000 + ed);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(PoolAssets::balance(lp_token, &user), 216);

// assert pool's balance on new account id is same as on prior account id.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &new_pool_account), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &new_pool_account), 10);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &new_pool_account),
10000
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &new_pool_account),
10
);
assert_eq!(PoolAssets::balance(lp_token, &new_pool_account), 100);

// assert pool's balance on prior account id is zero.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &prior_pool_account), 0);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &prior_pool_account), 0);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &prior_pool_account),
0
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &prior_pool_account),
0
);
assert_eq!(PoolAssets::balance(lp_token, &prior_pool_account), 0);

// assert total issuance has not changed.
assert_eq!(total_issuance_token1, NativeAndAssets::total_issuance(token_1));
assert_eq!(total_issuance_token2, NativeAndAssets::total_issuance(token_2));
assert_eq!(
total_issuance_token1,
<NativeAndAssets as Inspect<u64>>::total_issuance(token_1)
);
assert_eq!(
total_issuance_token2,
<NativeAndAssets as Inspect<u64>>::total_issuance(token_2)
);
assert_eq!(total_issuance_lp_token, PoolAssets::total_issuance(lp_token));
});
}
Expand Down Expand Up @@ -147,13 +173,15 @@ fn migrate_pool_account_id_with_insufficient_assets() {
));

// assert user's balance.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &user), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &user), 10000);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(PoolAssets::balance(lp_token, &user), 216);

// record total issuances before migration.
let total_issuance_token1 = NativeAndAssets::total_issuance(token_1.clone());
let total_issuance_token2 = NativeAndAssets::total_issuance(token_2.clone());
let total_issuance_token1 =
<NativeAndAssets as Inspect<u64>>::total_issuance(token_1.clone());
let total_issuance_token2 =
<NativeAndAssets as Inspect<u64>>::total_issuance(token_2.clone());
let total_issuance_lp_token = PoolAssets::total_issuance(lp_token);

let pool_account = PoolLocator::address(&pool_id).unwrap();
Expand All @@ -162,8 +190,14 @@ fn migrate_pool_account_id_with_insufficient_assets() {
assert_eq!(pool_account, prior_pool_account);

// assert pool's balances before migration.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &prior_pool_account), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &prior_pool_account), 10);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &prior_pool_account),
10000
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &prior_pool_account),
10
);
assert_eq!(PoolAssets::balance(lp_token, &prior_pool_account), 100);

// migrate.
Expand All @@ -174,23 +208,41 @@ fn migrate_pool_account_id_with_insufficient_assets() {
));

// assert user's balance has not changed.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &user), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &user), 10000);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(PoolAssets::balance(lp_token, &user), 216);

// assert pool's balance on new account id is same as on prior account id.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &new_pool_account), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &new_pool_account), 10);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &new_pool_account),
10000
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &new_pool_account),
10
);
assert_eq!(PoolAssets::balance(lp_token, &new_pool_account), 100);

// assert pool's balance on prior account id is zero.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &prior_pool_account), 0);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &prior_pool_account), 0);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &prior_pool_account),
0
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &prior_pool_account),
0
);
assert_eq!(PoolAssets::balance(lp_token, &prior_pool_account), 0);

// assert total issuance has not changed.
assert_eq!(total_issuance_token1, NativeAndAssets::total_issuance(token_1));
assert_eq!(total_issuance_token2, NativeAndAssets::total_issuance(token_2));
assert_eq!(
total_issuance_token1,
<NativeAndAssets as Inspect<u64>>::total_issuance(token_1)
);
assert_eq!(
total_issuance_token2,
<NativeAndAssets as Inspect<u64>>::total_issuance(token_2)
);
assert_eq!(total_issuance_lp_token, PoolAssets::total_issuance(lp_token));
});
}
Expand Down Expand Up @@ -231,13 +283,15 @@ fn migrate_pool_account_id_with_sufficient_assets() {
));

// assert user's balance.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &user), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &user), 10000);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(PoolAssets::balance(lp_token, &user), 216);

// record total issuances before migration.
let total_issuance_token1 = NativeAndAssets::total_issuance(token_1.clone());
let total_issuance_token2 = NativeAndAssets::total_issuance(token_2.clone());
let total_issuance_token1 =
<NativeAndAssets as Inspect<u64>>::total_issuance(token_1.clone());
let total_issuance_token2 =
<NativeAndAssets as Inspect<u64>>::total_issuance(token_2.clone());
let total_issuance_lp_token = PoolAssets::total_issuance(lp_token);

let pool_account = PoolLocator::address(&pool_id).unwrap();
Expand All @@ -246,8 +300,14 @@ fn migrate_pool_account_id_with_sufficient_assets() {
assert_eq!(pool_account, prior_pool_account);

// assert pool's balances before migration.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &prior_pool_account), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &prior_pool_account), 10);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &prior_pool_account),
10000
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &prior_pool_account),
10
);
assert_eq!(PoolAssets::balance(lp_token, &prior_pool_account), 100);

// migrate.
Expand All @@ -258,23 +318,41 @@ fn migrate_pool_account_id_with_sufficient_assets() {
));

// assert user's balance has not changed.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &user), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &user), 10000);
assert_eq!(<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &user), 1000 - 10);
assert_eq!(PoolAssets::balance(lp_token, &user), 216);

// assert pool's balance on new account id is same as on prior account id.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &new_pool_account), 10000);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &new_pool_account), 10);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &new_pool_account),
10000
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &new_pool_account),
10
);
assert_eq!(PoolAssets::balance(lp_token, &new_pool_account), 100);

// assert pool's balance on prior account id is zero.
assert_eq!(NativeAndAssets::balance(token_1.clone(), &prior_pool_account), 0);
assert_eq!(NativeAndAssets::balance(token_2.clone(), &prior_pool_account), 0);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_1.clone(), &prior_pool_account),
0
);
assert_eq!(
<NativeAndAssets as Inspect<u64>>::balance(token_2.clone(), &prior_pool_account),
0
);
assert_eq!(PoolAssets::balance(lp_token, &prior_pool_account), 0);

// assert total issuance has not changed.
assert_eq!(total_issuance_token1, NativeAndAssets::total_issuance(token_1));
assert_eq!(total_issuance_token2, NativeAndAssets::total_issuance(token_2));
assert_eq!(
total_issuance_token1,
<NativeAndAssets as Inspect<u64>>::total_issuance(token_1)
);
assert_eq!(
total_issuance_token2,
<NativeAndAssets as Inspect<u64>>::total_issuance(token_2)
);
assert_eq!(total_issuance_lp_token, PoolAssets::total_issuance(lp_token));
});
}
Expand Down
4 changes: 2 additions & 2 deletions substrate/frame/asset-conversion/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,15 @@ fn create_tokens_with_ed(owner: u128, tokens: Vec<NativeOrWithId<u32>>, ed: u128
}

fn balance(owner: u128, token_id: NativeOrWithId<u32>) -> u128 {
<<Test as Config>::Assets>::balance(token_id, &owner)
<<Test as Config>::Assets as Inspect<u128>>::balance(token_id, &owner)
}

fn pool_balance(owner: u128, token_id: u32) -> u128 {
<<Test as Config>::PoolAssets>::balance(token_id, owner)
}

fn get_native_ed() -> u128 {
<<Test as Config>::Assets>::minimum_balance(NativeOrWithId::Native)
<<Test as Config>::Assets as Inspect<u128>>::minimum_balance(NativeOrWithId::Native)
}

macro_rules! bvec {
Expand Down
Loading
Loading