chore: removed completed queued mixnet migration

This commit is contained in:
Jędrzej Stuczyński
2024-09-11 11:19:30 +01:00
parent c08e7d2b11
commit cbea1d554a
3 changed files with 12 additions and 63 deletions
+12 -12
View File
@@ -1636,9 +1636,9 @@ checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
[[package]]
name = "schemars"
version = "0.8.16"
version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29"
checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92"
dependencies = [
"dyn-clone",
"schemars_derive",
@@ -1648,14 +1648,14 @@ dependencies = [
[[package]]
name = "schemars_derive"
version = "0.8.16"
version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967"
checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
"syn 1.0.109",
"syn 2.0.59",
]
[[package]]
@@ -1697,9 +1697,9 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.209"
version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09"
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
dependencies = [
"serde_derive",
]
@@ -1724,9 +1724,9 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.209"
version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
dependencies = [
"proc-macro2",
"quote",
@@ -1735,13 +1735,13 @@ dependencies = [
[[package]]
name = "serde_derive_internals"
version = "0.26.0"
version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c"
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
"syn 2.0.59",
]
[[package]]
-2
View File
@@ -535,8 +535,6 @@ pub fn migrate(
set_build_information!(deps.storage)?;
cw2::ensure_from_older_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?;
crate::queued_migrations::vesting_purge(deps.branch())?;
// due to circular dependency on contract addresses (i.e. mixnet contract requiring vesting contract address
// and vesting contract requiring the mixnet contract address), if we ever want to deploy any new fresh
// environment, one of the contracts will HAVE TO go through a migration
-49
View File
@@ -1,51 +1,2 @@
// Copyright 2022-2023 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::interval::storage as interval_storage;
use cosmwasm_std::{DepsMut, Order, Storage};
use mixnet_contract_common::error::MixnetContractError;
use mixnet_contract_common::PendingEpochEventKind;
fn ensure_no_pending_proxy_events(storage: &dyn Storage) -> Result<(), MixnetContractError> {
let last_executed = interval_storage::LAST_PROCESSED_EPOCH_EVENT.load(storage)?;
let last_inserted = interval_storage::EPOCH_EVENT_ID_COUNTER.load(storage)?;
// no pending events
if last_executed == last_inserted {
return Ok(());
}
for maybe_event in
interval_storage::PENDING_EPOCH_EVENTS.range(storage, None, None, Order::Ascending)
{
let (id, event_data) = maybe_event?;
match event_data.kind {
PendingEpochEventKind::Delegate { proxy, .. } => {
if proxy.is_some() {
return Err(MixnetContractError::FailedMigration {
comment: format!(
"there is a pending vesting contract delegation with id {id}"
),
});
}
}
PendingEpochEventKind::Undelegate { proxy, .. } => {
if proxy.is_some() {
return Err(MixnetContractError::FailedMigration {
comment: format!(
"there is a pending vesting contract undelegation with id {id}"
),
});
}
}
_ => continue,
}
}
Ok(())
}
pub(crate) fn vesting_purge(deps: DepsMut) -> Result<(), MixnetContractError> {
ensure_no_pending_proxy_events(deps.storage)?;
Ok(())
}