From 502c63b29136e7958a0f799b56e1f63403d78721 Mon Sep 17 00:00:00 2001
From: benedetta davico <46782255+benedettadavico@users.noreply.github.com>
Date: Fri, 25 Jul 2025 11:19:27 +0200
Subject: [PATCH 01/28] Fix broken CI
---
.github/workflows/push-node-status-agent.yaml | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/push-node-status-agent.yaml b/.github/workflows/push-node-status-agent.yaml
index b2c156b1d9..9fd84b8196 100644
--- a/.github/workflows/push-node-status-agent.yaml
+++ b/.github/workflows/push-node-status-agent.yaml
@@ -52,13 +52,16 @@ jobs:
- name: Set GIT_TAG variable
run: echo "GIT_TAG=${{ env.WORKING_DIRECTORY }}-${{ steps.get_version.outputs.result }}-${{ steps.cleanup_gateway_probe_ref.outputs.git_ref }}" >> $GITHUB_ENV
- - name: Set RELEASE_TAG variable
+ - name: Initialize RELEASE_TAG
+ run: echo "RELEASE_TAG=" >> $GITHUB_ENV
+
+ - name: Set RELEASE_TAG for release
if: github.event.inputs.release_image == 'true'
run: echo "RELEASE_TAG=golden-" >> $GITHUB_ENV
-
+
- name: Set IMAGE_NAME_AND_TAGS variable
run: echo "IMAGE_NAME_AND_TAGS=${{ env.CONTAINER_NAME }}:${{ env.RELEASE_TAG }}${{ steps.get_version.outputs.result }}-${{ steps.cleanup_gateway_probe_ref.outputs.git_ref }}" >> $GITHUB_ENV
-
+
- name: New env vars
run: echo "RELEASE_TAG='$RELEASE_TAG' GIT_TAG='$GIT_TAG' IMAGE_NAME_AND_TAGS='$IMAGE_NAME_AND_TAGS'"
From d01867ca8d180edce7761a5a153b8de25319e56b Mon Sep 17 00:00:00 2001
From: benedetta davico <46782255+benedettadavico@users.noreply.github.com>
Date: Fri, 25 Jul 2025 11:27:42 +0200
Subject: [PATCH 02/28] save version
---
.github/workflows/push-node-status-agent.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/push-node-status-agent.yaml b/.github/workflows/push-node-status-agent.yaml
index 9fd84b8196..00c8cbc774 100644
--- a/.github/workflows/push-node-status-agent.yaml
+++ b/.github/workflows/push-node-status-agent.yaml
@@ -40,7 +40,8 @@ jobs:
- name: Get version from cargo.toml
id: get_version
run: |
- yq -oy '.package.version' ${{ env.WORKING_DIRECTORY }}/Cargo.toml
+ VERSION=$(yq -oy '.package.version' ${{ env.WORKING_DIRECTORY }}/Cargo.toml)
+ echo "result=$VERSION" >> $GITHUB_OUTPUT
- name: cleanup-gateway-probe-ref
id: cleanup_gateway_probe_ref
From 61606630bd19c60e29207f9f4e48e16eb8262338 Mon Sep 17 00:00:00 2001
From: import this <97586125+serinko@users.noreply.github.com>
Date: Wed, 6 Aug 2025 08:24:38 +0000
Subject: [PATCH 03/28] [DOCs/operators]: Release notes v2025.14-feta (#5935)
* update release
* fix typos
---
.../circulating-supply.json | 4 +-
.../nyx-outputs/circulating-supply.md | 2 +-
.../nyx-outputs/epoch-reward-budget.md | 2 +-
.../nyx-outputs/nyx-percent-stake.md | 2 +-
.../nyx-outputs/nyx-total-stake.md | 2 +-
.../nyx-outputs/stake-saturation.md | 2 +-
.../nyx-outputs/staking-target.md | 2 +-
.../nyx-outputs/staking_supply.md | 2 +-
.../nyx-outputs/token-table.md | 6 +--
.../api-scraping-outputs/reward-params.json | 8 ++--
.../outputs/api-scraping-outputs/time-now.md | 2 +-
.../docs/pages/operators/changelog.mdx | 46 +++++++++++++++++++
.../pages/operators/nodes/nym-node/setup.mdx | 8 ++--
13 files changed, 67 insertions(+), 21 deletions(-)
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/circulating-supply.json b/documentation/docs/components/outputs/api-scraping-outputs/circulating-supply.json
index 8d1b16afe2..8f961e9082 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/circulating-supply.json
+++ b/documentation/docs/components/outputs/api-scraping-outputs/circulating-supply.json
@@ -5,7 +5,7 @@
},
"mixmining_reserve": {
"denom": "unym",
- "amount": "185782781887190"
+ "amount": "184339094131786"
},
"vesting_tokens": {
"denom": "unym",
@@ -13,6 +13,6 @@
},
"circulating_supply": {
"denom": "unym",
- "amount": "814217218112810"
+ "amount": "815660905868214"
}
}
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/circulating-supply.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/circulating-supply.md
index 0b3ee43ca0..758aa1bb47 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/circulating-supply.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/circulating-supply.md
@@ -1 +1 @@
-814_217_218
+815_660_905
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/epoch-reward-budget.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/epoch-reward-budget.md
index 788d05cd23..3982030435 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/epoch-reward-budget.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/epoch-reward-budget.md
@@ -1 +1 @@
-5_160
+5_120
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-percent-stake.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-percent-stake.md
index 3dec107d5c..0eec7ac32c 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-percent-stake.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-percent-stake.md
@@ -1 +1 @@
-0.73%
+0.74%
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-total-stake.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-total-stake.md
index 322660801f..037b73c86b 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-total-stake.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/nyx-total-stake.md
@@ -1 +1 @@
-39.437
+38.479
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/stake-saturation.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/stake-saturation.md
index 40e1984ae2..3a671a25d2 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/stake-saturation.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/stake-saturation.md
@@ -1 +1 @@
-1_038_975
+1_040_817
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking-target.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking-target.md
index a5045462e5..26e9e10529 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking-target.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking-target.md
@@ -1 +1 @@
-249_354_023
+249_796_152
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking_supply.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking_supply.md
index a5045462e5..26e9e10529 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking_supply.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/staking_supply.md
@@ -1 +1 @@
-249_354_023
+249_796_152
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/token-table.md b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/token-table.md
index f723dc5285..4b497bab6f 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/token-table.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/nyx-outputs/token-table.md
@@ -1,7 +1,7 @@
| **Item** | **Description** | **Amount in NYM** |
|:-------------------|:------------------------------------------------------|--------------------:|
| Total Supply | Maximum amount of NYM token in existence | 1_000_000_000 |
-| Mixmining Reserve | Tokens releasing for operators rewards | 185_782_781 |
+| Mixmining Reserve | Tokens releasing for operators rewards | 184_339_094 |
| Vesting Tokens | Tokens locked outside of cicrulation for future claim | 0 |
-| Circulating Supply | Amount of unlocked tokens | 814_217_218 |
-| Stake Saturation | Optimal size of node self-bond + delegation | 1_038_975 |
+| Circulating Supply | Amount of unlocked tokens | 815_660_905 |
+| Stake Saturation | Optimal size of node self-bond + delegation | 1_040_817 |
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/reward-params.json b/documentation/docs/components/outputs/api-scraping-outputs/reward-params.json
index 107af311de..ae2d31a730 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/reward-params.json
+++ b/documentation/docs/components/outputs/api-scraping-outputs/reward-params.json
@@ -1,10 +1,10 @@
{
"interval": {
- "reward_pool": "185782781887190.195531020579422623",
- "staking_supply": "249354023047048.00261862494755182",
+ "reward_pool": "184339094131786.145886263466367605",
+ "staking_supply": "249796152422140.492822331813424919",
"staking_supply_scale_factor": "0.30625",
- "epoch_reward_budget": "5160632830.199727653639460539",
- "stake_saturation_point": "1038975096029.366677577603948132",
+ "epoch_reward_budget": "5120530392.54961516350731851",
+ "stake_saturation_point": "1040817301758.918720093049222603",
"sybil_resistance": "0.3",
"active_set_work_factor": "10",
"interval_pool_emission": "0.02"
diff --git a/documentation/docs/components/outputs/api-scraping-outputs/time-now.md b/documentation/docs/components/outputs/api-scraping-outputs/time-now.md
index 7a436498af..7678755773 100644
--- a/documentation/docs/components/outputs/api-scraping-outputs/time-now.md
+++ b/documentation/docs/components/outputs/api-scraping-outputs/time-now.md
@@ -1 +1 @@
-Wednesday, July 30th 2025, 09:32:50 UTC
\ No newline at end of file
+Tuesday, August 5th 2025, 13:12:58 UTC
diff --git a/documentation/docs/pages/operators/changelog.mdx b/documentation/docs/pages/operators/changelog.mdx
index 1289f1f2c3..5370779ef8 100644
--- a/documentation/docs/pages/operators/changelog.mdx
+++ b/documentation/docs/pages/operators/changelog.mdx
@@ -47,7 +47,53 @@ This page displays a full list of all the changes during our release cycle from
+## `v2025.14-feta`
+- [Release Binaries](https://github.com/nymtech/nym/releases/tag/nym-binaries-v2025.14-feta)
+- [`nym-node`](nodes/nym-node.mdx) version `1.16.0`
+
+```sh
+nym-node
+Binary Name: nym-node
+Build Timestamp: 2025-08-05T09:14:30.322593213Z
+Build Version: 1.16.0
+Commit SHA: 7f97f13799342f864e1b106e8cafc9f6d6c24c0f
+Commit Date: 2025-07-24T11:00:58.000000000+01:00
+Commit Branch: HEAD
+rustc Version: 1.86.0
+rustc Channel: stable
+cargo Profile: release
+```
+
+### Operators Updates & Tools
+
+- Stark Industries is on a sanction list by EU. IP addresses managed by Stark Ind. and their subsidies (ASN 44477 / ASN 33993) had been put on [spamhaus.org](http://spamhaus.org/) [list](https://www.spamhaus.org/drop/asndrop.json). The effect on NymVPN user experience is that Exit Gateways IPs hosted on Stark Ind. are seen as a spam proxies by many online services.
+
+- We ask operators - especially Exit Gateways - to consider moving to another ISP. Visit an updated [ISP list](community-counsel/isp-list) and feel free to add more providers, following [these steps](community-counsel/add-content).
+
+### Features
+
+- [Allow PG database backend](https://github.com/nymtech/nym/pull/5880):
+ - Added PostgreSQL database support alongside existing SQLite through Cargo feature flags
+ - Implemented runtime query conversion from SQLite `?` placeholders to PostgreSQL `$1`, `$2`, ... format
+ - Single codebase now supports both databases without query duplication
+
+- [Support mnemonic in the NS agent](https://github.com/nymtech/nym/pull/5883)
+
+- [`sqlx-pool-guard`: allocate more memory on windows](https://github.com/nymtech/nym/pull/5896):
+ - Allocate 1.5x more memory than reported by the system to provide a safety margin
+ - Increase number of retry attempts to 5
+
+
+- [dkg epoch dealers query](https://github.com/nymtech/nym/pull/5899)
+
+- [dkg snapshot epoch](https://github.com/nymtech/nym/pull/5900): In order to determine if signer quorum has been down at particular height, we need to know with certainty the dkg epoch id corresponding to given block height. This PR makes it possible. Every time epoch state is changed (due to DKG progress), snapshot is saved and can be queried. This doesn't work for past data, but given mainnet has only had a single DKG instance, that's not an issue.
+
+- [`sqlx-pool-guard`: obtain filename from connect options](https://github.com/nymtech/nym/pull/5905):
+
+### Refactors & Maintenance
+
+- [Nym node tokio console](https://github.com/nymtech/nym/pull/5909)
## `v2025.13-emmental`
diff --git a/documentation/docs/pages/operators/nodes/nym-node/setup.mdx b/documentation/docs/pages/operators/nodes/nym-node/setup.mdx
index 2a53917cb0..d88ccec10a 100644
--- a/documentation/docs/pages/operators/nodes/nym-node/setup.mdx
+++ b/documentation/docs/pages/operators/nodes/nym-node/setup.mdx
@@ -20,10 +20,10 @@ This documentation page provides a guide on how to set up and run a [NYM NODE](.
```sh
nym-node
Binary Name: nym-node
-Build Timestamp: 2025-07-22T09:24:35.790560275Z
-Build Version: 1.15.0
-Commit SHA: 578c9b0567656d86812aa21eb0b4c93b5a7235bd
-Commit Date: 2025-07-22T11:09:35.000000000+02:00
+Build Timestamp: 2025-08-05T09:14:30.322593213Z
+Build Version: 1.16.0
+Commit SHA: 7f97f13799342f864e1b106e8cafc9f6d6c24c0f
+Commit Date: 2025-07-24T11:00:58.000000000+01:00
Commit Branch: HEAD
rustc Version: 1.86.0
rustc Channel: stable
From ed73ec9ce6a06eb0d14d5454a921ed0fd88a384a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?=
Date: Thu, 7 Aug 2025 09:56:08 +0100
Subject: [PATCH 04/28] chore: remove unused import (#5942)
---
nym-node/src/cli/mod.rs | 1 -
1 file changed, 1 deletion(-)
diff --git a/nym-node/src/cli/mod.rs b/nym-node/src/cli/mod.rs
index b480743922..ad72438f41 100644
--- a/nym-node/src/cli/mod.rs
+++ b/nym-node/src/cli/mod.rs
@@ -6,7 +6,6 @@ use crate::cli::commands::{
test_throughput,
};
use crate::env::vars::{NYMNODE_CONFIG_ENV_FILE_ARG, NYMNODE_NO_BANNER_ARG};
-use crate::logging::setup_tracing_logger;
use clap::{Args, Parser, Subcommand};
use nym_bin_common::bin_info;
use std::future::Future;
From 067f492ad63720593f2524f16ddd2700b3b6254f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?=
Date: Fri, 8 Aug 2025 13:03:05 +0100
Subject: [PATCH 05/28] chore: fix rust 1.89 clippy issues (#5944)
---
.../src/client/topology_control/accessor.rs | 2 +-
common/client-core/src/init/helpers.rs | 2 +-
.../delegate_to_multiple_mixnodes.rs | 2 +-
.../src/tester/mod.rs | 2 +-
.../mixnet-contract/src/helpers.rs | 6 +++---
.../mixnet-contract/src/nym_node.rs | 2 +-
.../credential-storage/src/backends/sqlite.rs | 2 +-
.../credential-verification/src/ecash/mod.rs | 4 ++--
.../src/ecash/state.rs | 10 +++++-----
.../src/ecash/traits.rs | 2 +-
nym-api/src/ecash/comm.rs | 2 +-
nym-api/src/ecash/helpers.rs | 2 +-
nym-api/src/ecash/keys/mod.rs | 6 +++---
nym-api/src/ecash/state/mod.rs | 18 ++++++++---------
nym-api/src/epoch_operations/helpers.rs | 2 +-
.../src/mixnet_contract_cache/cache/mod.rs | 8 ++++----
nym-api/src/node_status_api/cache/mod.rs | 6 +++---
nym-api/src/node_status_api/helpers.rs | 20 +------------------
nym-api/src/support/http/state/mod.rs | 9 +++++----
.../src/http/state/mod.rs | 16 +++++++--------
.../src/nym_api_helpers.rs | 6 +++++-
nym-node/nym-node-metrics/src/entry.rs | 2 +-
sdk/rust/nym-sdk/src/mixnet/native_client.rs | 4 +++-
sdk/rust/nym-sdk/src/tcp_proxy/utils.rs | 2 +-
.../ip-packet-router/src/non_linux_dummy.rs | 1 +
.../ip-packet-router/src/util/parse_ip.rs | 2 +-
26 files changed, 65 insertions(+), 75 deletions(-)
diff --git a/common/client-core/src/client/topology_control/accessor.rs b/common/client-core/src/client/topology_control/accessor.rs
index 5c08a6a9ae..9841127b52 100644
--- a/common/client-core/src/client/topology_control/accessor.rs
+++ b/common/client-core/src/client/topology_control/accessor.rs
@@ -126,7 +126,7 @@ impl TopologyAccessor {
.map(|p| p.topology.clone())
}
- pub async fn current_route_provider(&self) -> Option> {
+ pub async fn current_route_provider(&self) -> Option> {
let provider = self.inner.topology.read().await;
if provider.topology.is_empty() {
None
diff --git a/common/client-core/src/init/helpers.rs b/common/client-core/src/init/helpers.rs
index 97c3be13b7..1ca4b68191 100644
--- a/common/client-core/src/init/helpers.rs
+++ b/common/client-core/src/init/helpers.rs
@@ -148,7 +148,7 @@ async fn connect(endpoint: &str) -> Result {
JSWebsocket::new(endpoint).map_err(|_| ClientCoreError::GatewayJsConnectionFailure)
}
-async fn measure_latency(gateway: &G) -> Result, ClientCoreError>
+async fn measure_latency(gateway: &G) -> Result, ClientCoreError>
where
G: ConnectableGateway,
{
diff --git a/common/commands/src/validator/mixnet/delegators/delegate_to_multiple_mixnodes.rs b/common/commands/src/validator/mixnet/delegators/delegate_to_multiple_mixnodes.rs
index 70eb85e7cd..79dc4347a0 100644
--- a/common/commands/src/validator/mixnet/delegators/delegate_to_multiple_mixnodes.rs
+++ b/common/commands/src/validator/mixnet/delegators/delegate_to_multiple_mixnodes.rs
@@ -241,7 +241,7 @@ pub async fn delegate_to_multiple_mixnodes(args: Args, client: SigningClient) {
let node_id = row.node_id.clone().parse::().unwrap();
let coins: Vec = vec![];
undelegation_msgs.push((ExecuteMsg::Undelegate { node_id }, coins));
- undelegation_table.add_row(&[row.node_id.clone()]);
+ undelegation_table.add_row(std::slice::from_ref(&row.node_id));
if row.amount.amount > 0 {
delegation_msgs
diff --git a/common/cosmwasm-smart-contracts/contracts-common-testing/src/tester/mod.rs b/common/cosmwasm-smart-contracts/contracts-common-testing/src/tester/mod.rs
index 2d041a0933..d6b88bafc5 100644
--- a/common/cosmwasm-smart-contracts/contracts-common-testing/src/tester/mod.rs
+++ b/common/cosmwasm-smart-contracts/contracts-common-testing/src/tester/mod.rs
@@ -188,7 +188,7 @@ impl ContractTesterBuilder {
*self.app.api()
}
- pub fn querier(&self) -> QuerierWrapper {
+ pub fn querier(&self) -> QuerierWrapper<'_> {
self.app.wrap()
}
}
diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/helpers.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/helpers.rs
index 125359d9f5..b5032e64be 100644
--- a/common/cosmwasm-smart-contracts/mixnet-contract/src/helpers.rs
+++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/helpers.rs
@@ -57,7 +57,7 @@ pub trait NodeBond {
fn is_unbonding(&self) -> bool;
- fn identity(&self) -> IdentityKeyRef;
+ fn identity(&self) -> IdentityKeyRef<'_>;
fn original_pledge(&self) -> &Coin;
@@ -125,7 +125,7 @@ impl NodeBond for MixNodeBond {
self.is_unbonding
}
- fn identity(&self) -> IdentityKeyRef {
+ fn identity(&self) -> IdentityKeyRef<'_> {
self.identity()
}
@@ -178,7 +178,7 @@ impl NodeBond for NymNodeBond {
self.is_unbonding
}
- fn identity(&self) -> IdentityKeyRef {
+ fn identity(&self) -> IdentityKeyRef<'_> {
self.identity()
}
diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/nym_node.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/nym_node.rs
index cecbd4392f..6fc172db09 100644
--- a/common/cosmwasm-smart-contracts/mixnet-contract/src/nym_node.rs
+++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/nym_node.rs
@@ -58,7 +58,7 @@ impl<'a> PrimaryKey<'a> for Role {
type Suffix = >::Suffix;
type SuperSuffix = >::SuperSuffix;
- fn key(&self) -> Vec {
+ fn key(&self) -> Vec> {
// I'm not sure why it wasn't possible to delegate the call to
// `(*self as u8).key()` directly...
// I guess because of the `Key::Ref(&'a [u8])` variant?
diff --git a/common/credential-storage/src/backends/sqlite.rs b/common/credential-storage/src/backends/sqlite.rs
index 6ac45aec47..8b0c5027a7 100644
--- a/common/credential-storage/src/backends/sqlite.rs
+++ b/common/credential-storage/src/backends/sqlite.rs
@@ -39,7 +39,7 @@ impl SqliteEcashTicketbookManager {
Ok(())
}
- pub(crate) async fn begin_storage_tx(&self) -> Result, sqlx::Error> {
+ pub(crate) async fn begin_storage_tx(&self) -> Result, sqlx::Error> {
self.connection_pool.begin().await
}
diff --git a/common/credential-verification/src/ecash/mod.rs b/common/credential-verification/src/ecash/mod.rs
index 107ac45299..5586ef5ab1 100644
--- a/common/credential-verification/src/ecash/mod.rs
+++ b/common/credential-verification/src/ecash/mod.rs
@@ -39,7 +39,7 @@ impl traits::EcashManager for EcashManager {
async fn verification_key(
&self,
epoch_id: EpochId,
- ) -> Result, EcashTicketError> {
+ ) -> Result, EcashTicketError> {
self.shared_state.verification_key(epoch_id).await
}
@@ -231,7 +231,7 @@ impl traits::EcashManager for MockEcashManager {
async fn verification_key(
&self,
_epoch_id: EpochId,
- ) -> Result, EcashTicketError> {
+ ) -> Result, EcashTicketError> {
Ok(self.verfication_key.read().await)
}
diff --git a/common/credential-verification/src/ecash/state.rs b/common/credential-verification/src/ecash/state.rs
index c16db2111f..85ada02f5c 100644
--- a/common/credential-verification/src/ecash/state.rs
+++ b/common/credential-verification/src/ecash/state.rs
@@ -125,7 +125,7 @@ impl SharedState {
async fn set_epoch_data(
&self,
epoch_id: EpochId,
- ) -> Result>, EcashTicketError> {
+ ) -> Result>, EcashTicketError> {
let Some(threshold) = self.threshold(epoch_id).await? else {
return Err(EcashTicketError::DKGThresholdUnavailable { epoch_id });
};
@@ -186,7 +186,7 @@ impl SharedState {
pub(crate) async fn api_clients(
&self,
epoch_id: EpochId,
- ) -> Result>, EcashTicketError> {
+ ) -> Result>, EcashTicketError> {
let guard = self.epoch_data.read().await;
// the key was already in the map
@@ -212,7 +212,7 @@ impl SharedState {
pub(crate) async fn verification_key(
&self,
epoch_id: EpochId,
- ) -> Result, EcashTicketError> {
+ ) -> Result, EcashTicketError> {
let guard = self.epoch_data.read().await;
// the key was already in the map
@@ -235,11 +235,11 @@ impl SharedState {
}))
}
- pub(crate) async fn start_tx(&self) -> RwLockWriteGuard {
+ pub(crate) async fn start_tx(&self) -> RwLockWriteGuard<'_, DirectSigningHttpRpcNyxdClient> {
self.nyxd_client.write().await
}
- pub(crate) async fn start_query(&self) -> RwLockReadGuard {
+ pub(crate) async fn start_query(&self) -> RwLockReadGuard<'_, DirectSigningHttpRpcNyxdClient> {
self.nyxd_client.read().await
}
diff --git a/common/credential-verification/src/ecash/traits.rs b/common/credential-verification/src/ecash/traits.rs
index a7e8197681..ae25016f19 100644
--- a/common/credential-verification/src/ecash/traits.rs
+++ b/common/credential-verification/src/ecash/traits.rs
@@ -12,7 +12,7 @@ pub trait EcashManager {
async fn verification_key(
&self,
epoch_id: EpochId,
- ) -> Result, EcashTicketError>;
+ ) -> Result, EcashTicketError>;
fn storage(&self) -> Box;
async fn check_payment(
&self,
diff --git a/nym-api/src/ecash/comm.rs b/nym-api/src/ecash/comm.rs
index ef5deceb83..4910522a48 100644
--- a/nym-api/src/ecash/comm.rs
+++ b/nym-api/src/ecash/comm.rs
@@ -83,7 +83,7 @@ impl QueryCommunicationChannel {
}
}
- async fn update_epoch_cache(&self) -> Result> {
+ async fn update_epoch_cache(&self) -> Result> {
let mut guard = self.cached_epoch.write().await;
let epoch = ecash::client::Client::get_current_epoch(&self.nyxd_client).await?;
diff --git a/nym-api/src/ecash/helpers.rs b/nym-api/src/ecash/helpers.rs
index 62b0955331..c636d47157 100644
--- a/nym-api/src/ecash/helpers.rs
+++ b/nym-api/src/ecash/helpers.rs
@@ -100,7 +100,7 @@ where
&self,
key: K,
f: F,
- ) -> Result, EcashError>
+ ) -> Result, EcashError>
where
F: FnOnce() -> U,
U: Future