Skip to content

Commit 08d00b6

Browse files
committed
Add storage map to track drawdowns by type
1 parent ad14565 commit 08d00b6

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pallets/proxy/src/functions.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,9 @@ impl<T: Config> Pallet<T> {
151151
//Add expenditures
152152
Self::do_create_expenditure(admin.clone(), project_id, expenditures)?;
153153

154-
match users {
155-
Some(users) => {
156-
//Add users
157-
Self::do_assign_user(admin.clone(), project_id, users)?;
158-
},
159-
None => {}
154+
// Add users
155+
if let Some(users) = users {
156+
Self::do_assign_user(admin.clone(), project_id, users)?;
160157
}
161158

162159
//Initialize drawdowns
@@ -847,6 +844,8 @@ impl<T: Config> Pallet<T> {
847844
creator: Some(admin.clone()),
848845
};
849846

847+
let draws = DrawdownsByProjectByType::<T>::get(project_id, _);
848+
850849
// Insert drawdown data
851850
// Ensure drawdown id is unique
852851
ensure!(!DrawdownsInfo::<T>::contains_key(drawdown_id), Error::<T>::DrawdownAlreadyExists);
@@ -1317,7 +1316,7 @@ impl<T: Config> Pallet<T> {
13171316
// Ensure user is registered & get user data
13181317
let user_data = UsersInfo::<T>::get(user.clone()).ok_or(Error::<T>::UserNotRegistered)?;
13191318

1320-
// Check if the user role trying to be assigned matchs the actual user role from UsersInfo storage
1319+
// Check if the user role trying to be assigned matches the actual user role from UsersInfo storage
13211320
if user_data.role != role {
13221321
return Err(Error::<T>::UserCannotHaveMoreThanOneRole.into());
13231322
}

pallets/proxy/src/lib.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,18 @@ pub mod pallet {
233233
ValueQuery,
234234
>;
235235

236+
#[pallet::storage]
237+
#[pallet::getter(fn drawdowns_by_project_by_type)]
238+
pub(super) type DrawdownsByProjectByType<T: Config> = StorageDoubleMap<
239+
_,
240+
Identity,
241+
[u8;32], // Key project_id
242+
Identity,
243+
DrawdownType, // Key drawdown type
244+
BoundedVec<[u8;32], T::MaxDrawdownsPerProject>, // Value Drawdowns
245+
ValueQuery,
246+
>;
247+
236248
#[pallet::storage]
237249
#[pallet::getter(fn transactions)]
238250
pub(super) type TransactionsInfo<T: Config> = StorageMap<

0 commit comments

Comments
 (0)