diff --git a/chain/src/main.rs b/chain/src/main.rs index 78be5d1f..d0c88c63 100644 --- a/chain/src/main.rs +++ b/chain/src/main.rs @@ -281,12 +281,12 @@ async fn initial_query( tracing::info!("Querying proposals..."); let proposals = query_all_proposals(client).await.into_rpc_error()?; let proposals_with_tally = - namada_service::query_tallies(&client, proposals.clone()) + namada_service::query_tallies(client, proposals.clone()) .await .into_rpc_error()?; let proposals_votes = namada_service::query_all_votes( - &client, + client, proposals.iter().map(|p| p.id).collect(), ) .await diff --git a/chain/src/services/namada.rs b/chain/src/services/namada.rs index fbe179ed..b7e2483c 100644 --- a/chain/src/services/namada.rs +++ b/chain/src/services/namada.rs @@ -435,8 +435,7 @@ pub async fn query_tallies( ) -> anyhow::Result<Vec<(GovernanceProposal, TallyType)>> { let proposals = futures::stream::iter(proposals) .filter_map(|proposal| async move { - let is_steward = - is_steward(&client, &proposal.author).await.ok()?; + let is_steward = is_steward(client, &proposal.author).await.ok()?; let tally_type = TallyType::from(&proposal.r#type, is_steward); @@ -475,7 +474,7 @@ pub async fn query_all_votes( .collect::<Vec<_>>() .await; - anyhow::Ok(votes.iter().cloned().flatten().collect()) + anyhow::Ok(votes.iter().flatten().cloned().collect()) } fn to_block_height(block_height: u32) -> NamadaSdkBlockHeight { diff --git a/seeder/src/main.rs b/seeder/src/main.rs index 66e8a62c..17a8865d 100644 --- a/seeder/src/main.rs +++ b/seeder/src/main.rs @@ -21,7 +21,9 @@ use seeder::state::AppState; use shared::balance::Balance; use shared::bond::Bond; use shared::error::{AsDbError, ContextDbInteractError, MainError}; -use shared::proposal::{GovernanceProposal, GovernanceProposalStatus}; +use shared::proposal::{ + GovernanceProposal, GovernanceProposalStatus, TallyType, +}; use shared::rewards::Reward; use shared::unbond::Unbond; use shared::validator::Validator; @@ -58,6 +60,15 @@ async fn main() -> anyhow::Result<(), MainError> { .map(GovernanceProposal::fake) .collect::<Vec<GovernanceProposal>>(); + let governance_proposals_with_tally = governance_proposals + .iter() + .cloned() + .map(|proposal| { + let tally_type = TallyType::fake(); + (proposal, tally_type) + }) + .collect::<Vec<(GovernanceProposal, TallyType)>>(); + let governance_proposals_status = (0..config.total_proposals) .map(GovernanceProposalStatus::fake) .collect::<Vec<GovernanceProposalStatus>>(); @@ -149,10 +160,10 @@ async fn main() -> anyhow::Result<(), MainError> { diesel::insert_into(governance_proposals::table) .values::<&Vec<GovernanceProposalInsertDb>>( - &governance_proposals + &governance_proposals_with_tally .into_iter() - .map(|proposal| { - GovernanceProposalInsertDb::from_governance_proposal(proposal) + .map(|(proposal, tally_type)| { + GovernanceProposalInsertDb::from_governance_proposal(proposal, tally_type) }) .collect::<Vec<_>>(), ) diff --git a/shared/src/proposal.rs b/shared/src/proposal.rs index edfb299c..6cd55d20 100644 --- a/shared/src/proposal.rs +++ b/shared/src/proposal.rs @@ -227,6 +227,10 @@ pub enum TallyType { // TODO: copied from namada for time being impl TallyType { + pub fn fake() -> Self { + rand::random() + } + pub fn from( proposal_type: &GovernanceProposalKind, is_steward: bool,