feat: add whitelist overrides to rewarder validator (#5138)

* feat: add whitelist overrides to rewarder validator

* cleanup by using account id instead of string
This commit is contained in:
Fran Arbanas
2024-11-15 13:18:40 +01:00
committed by GitHub
parent a348ff43b0
commit 01e6a77cf1
4 changed files with 30 additions and 2 deletions
+3 -1
View File
@@ -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" ]
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
/nym/nym-validator-rewarder init
/nym/nym-validator-rewarder run
+15 -1
View File
@@ -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<f64>,
#[clap(
long,
value_delimiter = ',',
env = "NYM_VALIDATOR_REWARDER_BLOCK_SIGNING_WHITELIST"
)]
pub block_signing_whitelist: Option<Vec<AccountId>>,
#[clap(
long,
value_delimiter = ',',
env = "NYM_VALIDATOR_REWARDER_ISSUANCE_MONITOR_WHITELIST"
)]
pub issuance_monitor_whitelist: Option<Vec<AccountId>>,
}
#[derive(Subcommand, Debug)]
@@ -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
}