pub fn run(mut self) -> Result<(TxID, TxLog), VMError> {
        loop {
            if !self.step()? {
                break;
            }
        }

        if self.stack.len() > 0 {
            return Err(VMError::StackNotClean);
        }

        if self.last_anchor.is_none() {
            return Err(VMError::AnchorMissing);
        }

        let txid = TxID::from_log(&self.txlog[..]);

        Ok((txid, self.txlog))
    }
/// Runs through the entire program and nested programs until completion.
Runs through the entire program and nested programs until completion.
Runs through the entire program and nested programs until completion .
pub fn run(mut self) -> Result<(TxID, TxLog), VMError> {
        loop {
            if !self.step()? {
                break;
            }
        }
        if self.stack.len() > 0 {
            return Err(VMError::StackNotClean);
        }
        if self.last_anchor.is_none() {
            return Err(VMError::AnchorMissing);
        }
        let txid = TxID::from_log(&self.txlog[..]);
        Ok((txid, self.txlog))
    }
pub fn run ( mut self ) -> Result < ( TxID , TxLog ) , VMError > { loop { if ! self . step ( ) ? { break ; } } if self . stack . len ( ) > 0 { return Err ( VMError :: StackNotClean ) ; } if self . last_anchor . is_none ( ) { return Err ( VMError :: AnchorMissing ) ; } let txid = TxID :: from_log ( & self . txlog [ .. ] ) ; Ok ( ( txid , self . txlog ) ) }
Runs through the entire program and nested programs until completion.
Runs through the entire program and nested programs until completion .
mut self
mut self