* Drain the entire compute budget (#12478)
(cherry picked from commit d00453f747
)
* fix conflict
Co-authored-by: Jack May <jack@solana.com>
This commit is contained in:
@@ -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(())
|
||||
|
Reference in New Issue
Block a user