use crate::sns::report::SnsHostError;
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct SnsNeuronTargetRequest {
pub network: String,
pub source_endpoint: String,
pub now_unix_secs: u64,
pub governance_canister_id: String,
}
impl SnsNeuronTargetRequest {
pub fn new(
network: impl Into<String>,
source_endpoint: impl Into<String>,
now_unix_secs: u64,
governance_canister_id: impl Into<String>,
) -> Result<Self, SnsHostError> {
let governance_canister_id = governance_canister_id.into();
crate::sns::report::target::parse_governance_canister_input(&governance_canister_id)?;
Ok(Self {
network: network.into(),
source_endpoint: source_endpoint.into(),
now_unix_secs,
governance_canister_id,
})
}
}