Drain the entire compute budget (#12478)

This commit is contained in:
Jack May
2020-09-25 11:08:10 -07:00
committed by GitHub
parent baeba41cfd
commit d00453f747
4 changed files with 7 additions and 4 deletions

View File

@ -187,8 +187,9 @@ pub struct ThisComputeMeter {
}
impl ComputeMeter for ThisComputeMeter {
fn consume(&mut self, amount: u64) -> Result<(), InstructionError> {
let exceeded = self.remaining < amount;
self.remaining = self.remaining.saturating_sub(amount);
if self.remaining == 0 {
if exceeded {
return Err(InstructionError::ComputationalBudgetExceeded);
}
Ok(())