pub fn assert_can_sign_off(&self) -> Result<(), ProgramError> {
        match self.state {
            ProposalState::Draft | ProposalState::SigningOff => Ok(()),
            ProposalState::Executing
            | ProposalState::Completed
            | ProposalState::Cancelled
            | ProposalState::Voting
            | ProposalState::Succeeded
            | ProposalState::Defeated => Err(GovernanceError::InvalidStateCannotSignOff.into()),
        }
    }
/// Checks if Proposal can be singed off
Checks if Proposal can be singed off
Checks if Proposal can be singed off
pub fn assert_can_sign_off(&self) -> Result<(), ProgramError> {
        match self.state {
            ProposalState::Draft | ProposalState::SigningOff => Ok(()),
            ProposalState::Executing
            | ProposalState::Completed
            | ProposalState::Cancelled
            | ProposalState::Voting
            | ProposalState::Succeeded
            | ProposalState::Defeated => Err(GovernanceError::InvalidStateCannotSignOff.into()),
        }
    }
pub fn assert_can_sign_off ( & self ) -> Result < ( ) , ProgramError > { match self . state { ProposalState :: Draft | ProposalState :: SigningOff => Ok ( ( ) ) , ProposalState :: Executing | ProposalState :: Completed | ProposalState :: Cancelled | ProposalState :: Voting | ProposalState :: Succeeded | ProposalState :: Defeated => Err ( GovernanceError :: InvalidStateCannotSignOff . into ( ) ) , } }
Checks if Proposal can be singed off
Checks if Proposal can be singed off
&self
&self