From 298fce3f1e558438a5998691cf06074197b49174 Mon Sep 17 00:00:00 2001 From: hana <81144685+2501babe@users.noreply.github.com> Date: Fri, 6 Dec 2024 03:24:40 -0800 Subject: [PATCH] allow instruction to override sysvars --- harness/src/lib.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/harness/src/lib.rs b/harness/src/lib.rs index 5fa5102d..22a6419d 100644 --- a/harness/src/lib.rs +++ b/harness/src/lib.rs @@ -155,6 +155,9 @@ impl Mollusk { let mut compute_units_consumed = 0; let mut timings = ExecuteTimings::default(); + let mut sysvars = self.sysvars.clone(); + sysvars.fill_from_accounts(&accounts); + let loader_key = self .program_cache .load_program(&instruction.program_id) @@ -169,7 +172,7 @@ impl Mollusk { let mut transaction_context = TransactionContext::new( transaction_accounts, - self.sysvars.rent.clone(), + sysvars.rent.clone(), self.compute_budget.max_instruction_stack_depth, self.compute_budget.max_instruction_trace_length, ); @@ -185,7 +188,7 @@ impl Mollusk { None, Arc::new(self.feature_set.clone()), self.fee_structure.lamports_per_signature, - &SysvarCache::from(&self.sysvars), + &SysvarCache::from(&sysvars), ), None, self.compute_budget,