Skip to content

Commit

Permalink
fix: verify if is owner (#182)
Browse files Browse the repository at this point in the history
  • Loading branch information
b-avb authored Nov 25, 2024
1 parent 5c033ad commit e3c2118
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions src/hooks/use_accounts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use dioxus_std::{i18n::use_i18, translate};
use pjs::Account as PjsAccount;
use wasm_bindgen::prelude::*;

use crate::services::kreivo::balances::account;
use crate::services::kreivo::{balances::account, communities::is_admin};

use super::{
use_connect_wallet::{use_connect_wallet, PjsError},
Expand Down Expand Up @@ -34,7 +34,7 @@ pub fn use_accounts() -> UseAccountsState {
let mut notification = use_notification();
let accounts = consume_context::<Signal<Vec<Account>>>();
let mut account = consume_context::<Signal<Option<Account>>>();
let is_dao_owner = consume_context::<Signal<Option<IsDaoOwner>>>();
let mut is_dao_owner = consume_context::<Signal<Option<IsDaoOwner>>>();
let mut are_accounts_initialized = consume_context::<Signal<AreAccountsInitialized>>();
let pjs = use_context::<Signal<Option<pjs::PjsExtension>>>();

Expand All @@ -61,6 +61,22 @@ pub fn use_accounts() -> UseAccountsState {

account.set(Some(selected_account.clone()));
set_signer(selected_account.address().clone());

let Ok(address) =
sp_core::sr25519::Public::from_str(&selected_account.address())
else {
log::warn!("Not found public address");
return notification
.handle_error(&translate!(i18, "errors.wallet.account_address"));
};

let Ok(is_owner) = is_admin(&address.0).await else {
log::warn!("Failed to get is admin");
return notification
.handle_error(&translate!(i18, "errors.wallet.account_address"));
};

is_dao_owner.set(Some(IsDaoOwner(is_owner)));
}
}
};
Expand Down

0 comments on commit e3c2118

Please sign in to comment.