From 01e6a77cf1434099cebac5dfac5eddab663e5d26 Mon Sep 17 00:00:00 2001 From: Fran Arbanas Date: Fri, 15 Nov 2024 13:18:40 +0100 Subject: [PATCH] feat: add whitelist overrides to rewarder validator (#5138) * feat: add whitelist overrides to rewarder validator * cleanup by using account id instead of string --- nym-validator-rewarder/Dockerfile | 4 +++- nym-validator-rewarder/entrypoint.sh | 4 ++++ nym-validator-rewarder/src/cli/mod.rs | 16 +++++++++++++++- nym-validator-rewarder/src/config/override.rs | 8 ++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100755 nym-validator-rewarder/entrypoint.sh diff --git a/nym-validator-rewarder/Dockerfile b/nym-validator-rewarder/Dockerfile index 4c8e34b24f..e4543a16a7 100644 --- a/nym-validator-rewarder/Dockerfile +++ b/nym-validator-rewarder/Dockerfile @@ -23,4 +23,6 @@ RUN apt-get update && apt-get install -y ca-certificates WORKDIR /nym COPY --from=builder /usr/src/nym/target/release/nym-validator-rewarder ./ -ENTRYPOINT [ "/nym/nym-validator-rewarder" ] + +COPY ./nym-validator-rewarder/entrypoint.sh /nym/entrypoint.sh +ENTRYPOINT [ "/nym/entrypoint.sh" ] diff --git a/nym-validator-rewarder/entrypoint.sh b/nym-validator-rewarder/entrypoint.sh new file mode 100755 index 0000000000..646ccd87f1 --- /dev/null +++ b/nym-validator-rewarder/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +/nym/nym-validator-rewarder init +/nym/nym-validator-rewarder run diff --git a/nym-validator-rewarder/src/cli/mod.rs b/nym-validator-rewarder/src/cli/mod.rs index 87c0de5c5a..5d62eb4ae2 100644 --- a/nym-validator-rewarder/src/cli/mod.rs +++ b/nym-validator-rewarder/src/cli/mod.rs @@ -5,7 +5,7 @@ use crate::config::Config; use crate::error::NymRewarderError; use clap::{Parser, Subcommand}; use nym_bin_common::bin_info; -use nym_validator_client::nyxd::Coin; +use nym_validator_client::nyxd::{AccountId, Coin}; use std::path::PathBuf; use std::sync::OnceLock; use tracing::{debug, error}; @@ -85,6 +85,20 @@ pub struct ConfigOverridableArgs { #[clap(long, env = "NYM_VALIDATOR_REWARDER_TICKETBOOK_ISSUANCE_REWARD_RATIO")] pub ticketbook_issuance_reward_ratio: Option, + + #[clap( + long, + value_delimiter = ',', + env = "NYM_VALIDATOR_REWARDER_BLOCK_SIGNING_WHITELIST" + )] + pub block_signing_whitelist: Option>, + + #[clap( + long, + value_delimiter = ',', + env = "NYM_VALIDATOR_REWARDER_ISSUANCE_MONITOR_WHITELIST" + )] + pub issuance_monitor_whitelist: Option>, } #[derive(Subcommand, Debug)] diff --git a/nym-validator-rewarder/src/config/override.rs b/nym-validator-rewarder/src/config/override.rs index 38d4574be2..7374891ce3 100644 --- a/nym-validator-rewarder/src/config/override.rs +++ b/nym-validator-rewarder/src/config/override.rs @@ -18,6 +18,10 @@ impl ConfigOverride for ConfigOverridableArgs { config.block_signing.monitor_only = true } + if let Some(whitelist) = self.block_signing_whitelist { + config.block_signing.whitelist = whitelist + } + if self.ticketbook_issuance_monitoring_only { config.ticketbook_issuance.monitor_only = true } @@ -26,6 +30,10 @@ impl ConfigOverride for ConfigOverridableArgs { config.ticketbook_issuance.enabled = false } + if let Some(whitelist) = self.issuance_monitor_whitelist { + config.ticketbook_issuance.whitelist = whitelist + } + if let Some(scraper_endpoint) = self.scraper_endpoint { config.nyxd_scraper.websocket_url = scraper_endpoint }