pub async fn update_state_and_vote_if_able<TYPES: NodeType, I: NodeImplementation<TYPES>, V: Versions>(
cur_view: TYPES::Time,
proposal: QuorumProposal<TYPES>,
public_key: TYPES::SignatureKey,
private_key: <TYPES::SignatureKey as SignatureKey>::PrivateKey,
consensus: OuterConsensus<TYPES>,
storage: Arc<RwLock<I::Storage>>,
quorum_membership: Arc<TYPES::Membership>,
instance_state: Arc<TYPES::InstanceState>,
vote_info: VoteInfo<TYPES, V>,
id: u64,
upgrade_lock: &UpgradeLock<TYPES, V>
) -> bool
Expand description
Check if we are able to vote, like whether the proposal is valid, whether we have DAC and VID share, and if so, vote.