pub fn validate(&self) -> Result<Commitment, Error> {
		if self.fee & 1 != 0 {
			return Err(Error::OddFee);
		}
		if self.inputs.len() > consensus::MAX_BLOCK_INPUTS {
			return Err(Error::TooManyInputs);
		}
		for out in &self.outputs {
			out.verify_proof()?;
		}
		let excess = self.verify_sig()?;
		Ok(excess)
	}
/// Validates all relevant parts of a fully built transaction. Checks the
/// excess value against the signature as well as range proofs for each
/// output.
Validates all relevant parts of a fully built transaction. Checks the
excess value against the signature as well as range proofs for each
output.
Validates all relevant parts of a fully built transaction . Checks the excess value against the signature as well as range proofs for each output .
pub fn validate(&self) -> Result<Commitment, Error> {
		if self.fee & 1 != 0 {
			return Err(Error::OddFee);
		}
		if self.inputs.len() > consensus::MAX_BLOCK_INPUTS {
			return Err(Error::TooManyInputs);
		}
		for out in &self.outputs {
			out.verify_proof()?;
		}
		let excess = self.verify_sig()?;
		Ok(excess)
	}
pub fn validate ( & self ) -> Result < Commitment , Error > { if self . fee & 1 != 0 { return Err ( Error :: OddFee ) ; } if self . inputs . len ( ) > consensus :: MAX_BLOCK_INPUTS { return Err ( Error :: TooManyInputs ) ; } for out in & self . outputs { out . verify_proof ( ) ? ; } let excess = self . verify_sig ( ) ? ; Ok ( excess ) }
Validates all relevant parts of a fully built transaction.
Validates all relevant parts of a fully built transaction .
&self