Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Commit

Permalink
Fix federation data next version number
Browse files Browse the repository at this point in the history
  • Loading branch information
AnthonyRonning committed Jan 30, 2024
1 parent 2e9af7d commit 323446f
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 16 deletions.
16 changes: 5 additions & 11 deletions mutiny-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1699,6 +1699,7 @@ impl<S: MutinyStorage> MutinyWallet<S> {

if federation_storage_guard.federations.contains_key(uuid) {
federation_storage_guard.federations.remove(uuid);
federation_storage_guard.version += 1;
self.storage
.insert_federations(federation_storage_guard.clone())
.await?;
Expand Down Expand Up @@ -2036,11 +2037,8 @@ pub(crate) async fn create_new_federation<S: MutinyStorage>(
// be saved.
let mut federation_mutex = federation_storage.write().await;

// Get the current federations so that we can check if the new federation already exists
let mut existing_federations = storage.get_federations()?;

// Check if the federation already exists
if existing_federations
if federation_mutex
.federations
.values()
.any(|federation| federation.federation_code == federation_code)
Expand All @@ -2054,15 +2052,11 @@ pub(crate) async fn create_new_federation<S: MutinyStorage>(
federation_code: federation_code.clone(),
};

existing_federations.version += 1;
existing_federations
federation_mutex
.federations
.insert(next_federation_uuid.clone(), next_federation.clone());

storage
.insert_federations(existing_federations.clone())
.await?;
federation_mutex.federations = existing_federations.federations.clone();
federation_mutex.version += 1;
storage.insert_federations(federation_mutex.clone()).await?;

// now create the federation process and init it
let new_federation = FederationClient::new(
Expand Down
6 changes: 1 addition & 5 deletions mutiny-core/src/storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -453,11 +453,7 @@ pub trait MutinyStorage: Clone + Sized + Send + Sync + 'static {
}

/// Inserts the federation indexes into storage
async fn insert_federations(
&self,
mut federations: FederationStorage,
) -> Result<(), MutinyError> {
federations.version += 1;
async fn insert_federations(&self, federations: FederationStorage) -> Result<(), MutinyError> {
let version = Some(federations.version);
self.set_data_async(FEDERATIONS_KEY.to_string(), federations, version)
.await
Expand Down

0 comments on commit 323446f

Please sign in to comment.