@@ -192,23 +192,29 @@ use pallet_subtensor::{CollectiveInterface, MemberManagement};
192
192
pub struct ManageSenateMembers ;
193
193
impl MemberManagement < AccountId > for ManageSenateMembers {
194
194
fn add_member ( account : & AccountId ) -> DispatchResultWithPostInfo {
195
- SenateMembers :: add_member ( RawOrigin :: Root . into ( ) , * account)
195
+ let who = * account;
196
+ SenateMembers :: add_member ( RawOrigin :: Root . into ( ) , who)
196
197
}
197
198
198
199
fn remove_member ( account : & AccountId ) -> DispatchResultWithPostInfo {
199
- SenateMembers :: remove_member ( RawOrigin :: Root . into ( ) , * account)
200
+ let who = * account;
201
+ SenateMembers :: remove_member ( RawOrigin :: Root . into ( ) , who)
200
202
}
201
203
202
- fn swap_member ( remove : & AccountId , add : & AccountId ) -> DispatchResultWithPostInfo {
203
- SenateMembers :: swap_member ( RawOrigin :: Root . into ( ) , * remove, * add)
204
+ fn swap_member ( rm : & AccountId , add : & AccountId ) -> DispatchResultWithPostInfo {
205
+ let remove = * rm;
206
+ let add = * add;
207
+
208
+ Triumvirate :: remove_votes ( rm) ?;
209
+ SenateMembers :: swap_member ( RawOrigin :: Root . into ( ) , remove, add)
204
210
}
205
211
206
212
fn is_member ( account : & AccountId ) -> bool {
207
- Senate :: is_member ( account)
213
+ SenateMembers :: members ( ) . contains ( account)
208
214
}
209
215
210
216
fn members ( ) -> Vec < AccountId > {
211
- Senate :: members ( )
217
+ SenateMembers :: members ( ) . into ( )
212
218
}
213
219
214
220
fn max_members ( ) -> u32 {
0 commit comments