* Bump version to v1.8.14 * Stop caching sysvars, instead load them ahead of time (backport #21108) Co-authored-by: Trent Nelson <trent@solana.com>
This commit is contained in:
@@ -3650,9 +3650,7 @@ mod tests {
|
||||
let mut invoke_context = MockInvokeContext::new(vec![]);
|
||||
let mut data = vec![];
|
||||
bincode::serialize_into(&mut data, &src_clock).unwrap();
|
||||
invoke_context
|
||||
.sysvars
|
||||
.push((sysvar::clock::id(), Some(Rc::new(data))));
|
||||
invoke_context.sysvars = vec![(sysvar::clock::id(), data)];
|
||||
|
||||
let mut syscall = SyscallGetClockSysvar {
|
||||
invoke_context: Rc::new(RefCell::new(&mut invoke_context)),
|
||||
@@ -3695,9 +3693,7 @@ mod tests {
|
||||
let mut invoke_context = MockInvokeContext::new(vec![]);
|
||||
let mut data = vec![];
|
||||
bincode::serialize_into(&mut data, &src_epochschedule).unwrap();
|
||||
invoke_context
|
||||
.sysvars
|
||||
.push((sysvar::epoch_schedule::id(), Some(Rc::new(data))));
|
||||
invoke_context.sysvars = vec![(sysvar::epoch_schedule::id(), data)];
|
||||
|
||||
let mut syscall = SyscallGetEpochScheduleSysvar {
|
||||
invoke_context: Rc::new(RefCell::new(&mut invoke_context)),
|
||||
@@ -3746,9 +3742,7 @@ mod tests {
|
||||
let mut invoke_context = MockInvokeContext::new(vec![]);
|
||||
let mut data = vec![];
|
||||
bincode::serialize_into(&mut data, &src_fees).unwrap();
|
||||
invoke_context
|
||||
.sysvars
|
||||
.push((sysvar::fees::id(), Some(Rc::new(data))));
|
||||
invoke_context.sysvars = vec![(sysvar::fees::id(), data)];
|
||||
|
||||
let mut syscall = SyscallGetFeesSysvar {
|
||||
invoke_context: Rc::new(RefCell::new(&mut invoke_context)),
|
||||
@@ -3789,9 +3783,7 @@ mod tests {
|
||||
let mut invoke_context = MockInvokeContext::new(vec![]);
|
||||
let mut data = vec![];
|
||||
bincode::serialize_into(&mut data, &src_rent).unwrap();
|
||||
invoke_context
|
||||
.sysvars
|
||||
.push((sysvar::rent::id(), Some(Rc::new(data))));
|
||||
invoke_context.sysvars = vec![(sysvar::rent::id(), data)];
|
||||
|
||||
let mut syscall = SyscallGetRentSysvar {
|
||||
invoke_context: Rc::new(RefCell::new(&mut invoke_context)),
|
||||
|
@@ -281,16 +281,16 @@ mod tests {
|
||||
account::{self, Account, AccountSharedData, WritableAccount},
|
||||
instruction::{AccountMeta, Instruction},
|
||||
keyed_account::KeyedAccount,
|
||||
process_instruction::{mock_set_sysvar, MockInvokeContext},
|
||||
process_instruction::MockInvokeContext,
|
||||
rent::Rent,
|
||||
stake::{
|
||||
config as stake_config,
|
||||
instruction::{self, LockupArgs},
|
||||
state::{Authorized, Lockup, StakeAuthorize},
|
||||
},
|
||||
sysvar::stake_history::StakeHistory,
|
||||
sysvar::{stake_history::StakeHistory, Sysvar},
|
||||
},
|
||||
std::{cell::RefCell, rc::Rc, str::FromStr},
|
||||
std::{cell::RefCell, str::FromStr},
|
||||
};
|
||||
|
||||
fn create_default_account() -> RefCell<AccountSharedData> {
|
||||
@@ -370,12 +370,9 @@ mod tests {
|
||||
.collect();
|
||||
|
||||
let mut invoke_context = MockInvokeContext::new(keyed_accounts);
|
||||
mock_set_sysvar(
|
||||
&mut invoke_context,
|
||||
sysvar::clock::id(),
|
||||
sysvar::clock::Clock::default(),
|
||||
)
|
||||
.unwrap();
|
||||
let mut data = Vec::with_capacity(sysvar::clock::Clock::size_of());
|
||||
bincode::serialize_into(&mut data, &sysvar::clock::Clock::default()).unwrap();
|
||||
invoke_context.sysvars = vec![(sysvar::clock::id(), data)];
|
||||
super::process_instruction(&Pubkey::default(), &instruction.data, &mut invoke_context)
|
||||
}
|
||||
}
|
||||
@@ -1038,12 +1035,9 @@ mod tests {
|
||||
];
|
||||
|
||||
let mut invoke_context = MockInvokeContext::new(keyed_accounts);
|
||||
let clock = Clock::default();
|
||||
let mut data = vec![];
|
||||
bincode::serialize_into(&mut data, &clock).unwrap();
|
||||
invoke_context
|
||||
.sysvars
|
||||
.push((sysvar::clock::id(), Some(Rc::new(data))));
|
||||
let mut data = Vec::with_capacity(sysvar::clock::Clock::size_of());
|
||||
bincode::serialize_into(&mut data, &sysvar::clock::Clock::default()).unwrap();
|
||||
invoke_context.sysvars = vec![(sysvar::clock::id(), data)];
|
||||
|
||||
assert_eq!(
|
||||
super::process_instruction(
|
||||
|
@@ -402,8 +402,9 @@ mod tests {
|
||||
bincode::serialize,
|
||||
solana_sdk::{
|
||||
account::{self, Account, AccountSharedData},
|
||||
process_instruction::{mock_set_sysvar, MockInvokeContext},
|
||||
process_instruction::MockInvokeContext,
|
||||
rent::Rent,
|
||||
sysvar::Sysvar,
|
||||
},
|
||||
std::{cell::RefCell, str::FromStr},
|
||||
};
|
||||
@@ -462,12 +463,9 @@ mod tests {
|
||||
.map(|(meta, account)| KeyedAccount::new(&meta.pubkey, meta.is_signer, account))
|
||||
.collect();
|
||||
let mut invoke_context = MockInvokeContext::new(keyed_accounts);
|
||||
mock_set_sysvar(
|
||||
&mut invoke_context,
|
||||
sysvar::rent::id(),
|
||||
sysvar::rent::Rent::default(),
|
||||
)
|
||||
.unwrap();
|
||||
let mut data = Vec::with_capacity(sysvar::rent::Rent::size_of());
|
||||
bincode::serialize_into(&mut data, &sysvar::rent::Rent::default()).unwrap();
|
||||
invoke_context.sysvars = vec![(sysvar::rent::id(), data)];
|
||||
super::process_instruction(&Pubkey::default(), &instruction.data, &mut invoke_context)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user