use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum SnsCanisterCallType {
Query,
CompositeQuery,
IngressUpdate,
}
impl SnsCanisterCallType {
#[must_use]
pub const fn as_str(self) -> &'static str {
match self {
Self::Query => "query",
Self::CompositeQuery => "composite_query",
Self::IngressUpdate => "ingress_update",
}
}
}
#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum SnsCanisterMethod {
ListDeployedSnses,
GetMetadata,
ListSnsCanisters,
GetSnsCanistersSummary,
GetMetrics,
GetNervousSystemParameters,
ListProposals,
GetProposal,
ListNeurons,
GetNeuron,
GetLatestRewardEvent,
GetLifecycle,
GetSaleParameters,
GetDerivedState,
GetRunningSnsVersion,
GetNextSnsVersion,
}
impl SnsCanisterMethod {
#[must_use]
pub const fn as_str(self) -> &'static str {
match self {
Self::ListDeployedSnses => "list_deployed_snses",
Self::GetMetadata => "get_metadata",
Self::ListSnsCanisters => "list_sns_canisters",
Self::GetSnsCanistersSummary => "get_sns_canisters_summary",
Self::GetMetrics => "get_metrics",
Self::GetNervousSystemParameters => "get_nervous_system_parameters",
Self::ListProposals => "list_proposals",
Self::GetProposal => "get_proposal",
Self::ListNeurons => "list_neurons",
Self::GetNeuron => "get_neuron",
Self::GetLatestRewardEvent => "get_latest_reward_event",
Self::GetLifecycle => "get_lifecycle",
Self::GetSaleParameters => "get_sale_parameters",
Self::GetDerivedState => "get_derived_state",
Self::GetRunningSnsVersion => "get_running_sns_version",
Self::GetNextSnsVersion => "get_next_sns_version",
}
}
}
#[cfg(test)]
mod tests;