cpi: change unnecessary &mut MemoryMapping to &MemoryMapping (#32643)
This commit is contained in:
parent
029f7b1d56
commit
6f88587652
|
@ -257,7 +257,7 @@ type TranslatedAccounts<'a> = Vec<(IndexOfAccount, Option<CallerAccount<'a>>)>;
|
||||||
trait SyscallInvokeSigned {
|
trait SyscallInvokeSigned {
|
||||||
fn translate_instruction(
|
fn translate_instruction(
|
||||||
addr: u64,
|
addr: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<StableInstruction, Error>;
|
) -> Result<StableInstruction, Error>;
|
||||||
fn translate_accounts<'a>(
|
fn translate_accounts<'a>(
|
||||||
|
@ -266,14 +266,14 @@ trait SyscallInvokeSigned {
|
||||||
account_infos_addr: u64,
|
account_infos_addr: u64,
|
||||||
account_infos_len: u64,
|
account_infos_len: u64,
|
||||||
is_loader_deprecated: bool,
|
is_loader_deprecated: bool,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<TranslatedAccounts<'a>, Error>;
|
) -> Result<TranslatedAccounts<'a>, Error>;
|
||||||
fn translate_signers(
|
fn translate_signers(
|
||||||
program_id: &Pubkey,
|
program_id: &Pubkey,
|
||||||
signers_seeds_addr: u64,
|
signers_seeds_addr: u64,
|
||||||
signers_seeds_len: u64,
|
signers_seeds_len: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &InvokeContext,
|
invoke_context: &InvokeContext,
|
||||||
) -> Result<Vec<Pubkey>, Error>;
|
) -> Result<Vec<Pubkey>, Error>;
|
||||||
}
|
}
|
||||||
|
@ -305,7 +305,7 @@ declare_syscall!(
|
||||||
impl SyscallInvokeSigned for SyscallInvokeSignedRust {
|
impl SyscallInvokeSigned for SyscallInvokeSignedRust {
|
||||||
fn translate_instruction(
|
fn translate_instruction(
|
||||||
addr: u64,
|
addr: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<StableInstruction, Error> {
|
) -> Result<StableInstruction, Error> {
|
||||||
let ix = translate_type::<StableInstruction>(
|
let ix = translate_type::<StableInstruction>(
|
||||||
|
@ -359,7 +359,7 @@ impl SyscallInvokeSigned for SyscallInvokeSignedRust {
|
||||||
account_infos_addr: u64,
|
account_infos_addr: u64,
|
||||||
account_infos_len: u64,
|
account_infos_len: u64,
|
||||||
is_loader_deprecated: bool,
|
is_loader_deprecated: bool,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<TranslatedAccounts<'a>, Error> {
|
) -> Result<TranslatedAccounts<'a>, Error> {
|
||||||
let (account_infos, account_info_keys) = translate_account_infos(
|
let (account_infos, account_info_keys) = translate_account_infos(
|
||||||
|
@ -387,7 +387,7 @@ impl SyscallInvokeSigned for SyscallInvokeSignedRust {
|
||||||
program_id: &Pubkey,
|
program_id: &Pubkey,
|
||||||
signers_seeds_addr: u64,
|
signers_seeds_addr: u64,
|
||||||
signers_seeds_len: u64,
|
signers_seeds_len: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &InvokeContext,
|
invoke_context: &InvokeContext,
|
||||||
) -> Result<Vec<Pubkey>, Error> {
|
) -> Result<Vec<Pubkey>, Error> {
|
||||||
let mut signers = Vec::new();
|
let mut signers = Vec::new();
|
||||||
|
@ -516,7 +516,7 @@ declare_syscall!(
|
||||||
impl SyscallInvokeSigned for SyscallInvokeSignedC {
|
impl SyscallInvokeSigned for SyscallInvokeSignedC {
|
||||||
fn translate_instruction(
|
fn translate_instruction(
|
||||||
addr: u64,
|
addr: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<StableInstruction, Error> {
|
) -> Result<StableInstruction, Error> {
|
||||||
let ix_c = translate_type::<SolInstruction>(
|
let ix_c = translate_type::<SolInstruction>(
|
||||||
|
@ -592,7 +592,7 @@ impl SyscallInvokeSigned for SyscallInvokeSignedC {
|
||||||
account_infos_addr: u64,
|
account_infos_addr: u64,
|
||||||
account_infos_len: u64,
|
account_infos_len: u64,
|
||||||
is_loader_deprecated: bool,
|
is_loader_deprecated: bool,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<TranslatedAccounts<'a>, Error> {
|
) -> Result<TranslatedAccounts<'a>, Error> {
|
||||||
let (account_infos, account_info_keys) = translate_account_infos(
|
let (account_infos, account_info_keys) = translate_account_infos(
|
||||||
|
@ -620,7 +620,7 @@ impl SyscallInvokeSigned for SyscallInvokeSignedC {
|
||||||
program_id: &Pubkey,
|
program_id: &Pubkey,
|
||||||
signers_seeds_addr: u64,
|
signers_seeds_addr: u64,
|
||||||
signers_seeds_len: u64,
|
signers_seeds_len: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &InvokeContext,
|
invoke_context: &InvokeContext,
|
||||||
) -> Result<Vec<Pubkey>, Error> {
|
) -> Result<Vec<Pubkey>, Error> {
|
||||||
if signers_seeds_len > 0 {
|
if signers_seeds_len > 0 {
|
||||||
|
@ -673,7 +673,7 @@ fn translate_account_infos<'a, T, F>(
|
||||||
account_infos_addr: u64,
|
account_infos_addr: u64,
|
||||||
account_infos_len: u64,
|
account_infos_len: u64,
|
||||||
key_addr: F,
|
key_addr: F,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
invoke_context: &mut InvokeContext,
|
invoke_context: &mut InvokeContext,
|
||||||
) -> Result<(&'a [T], Vec<&'a Pubkey>), Error>
|
) -> Result<(&'a [T], Vec<&'a Pubkey>), Error>
|
||||||
where
|
where
|
||||||
|
@ -929,7 +929,7 @@ fn cpi_common<S: SyscallInvokeSigned>(
|
||||||
account_infos_len: u64,
|
account_infos_len: u64,
|
||||||
signers_seeds_addr: u64,
|
signers_seeds_addr: u64,
|
||||||
signers_seeds_len: u64,
|
signers_seeds_len: u64,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
) -> Result<u64, Error> {
|
) -> Result<u64, Error> {
|
||||||
// CPI entry.
|
// CPI entry.
|
||||||
//
|
//
|
||||||
|
@ -1118,7 +1118,7 @@ fn update_callee_account(
|
||||||
// changes.
|
// changes.
|
||||||
fn update_caller_account(
|
fn update_caller_account(
|
||||||
invoke_context: &InvokeContext,
|
invoke_context: &InvokeContext,
|
||||||
memory_mapping: &mut MemoryMapping,
|
memory_mapping: &MemoryMapping,
|
||||||
is_loader_deprecated: bool,
|
is_loader_deprecated: bool,
|
||||||
caller_account: &mut CallerAccount,
|
caller_account: &mut CallerAccount,
|
||||||
callee_account: &mut BorrowedAccount<'_>,
|
callee_account: &mut BorrowedAccount<'_>,
|
||||||
|
@ -1368,12 +1368,11 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping =
|
let memory_mapping = MemoryMapping::new(vec![region], &config, &SBPFVersion::V2).unwrap();
|
||||||
MemoryMapping::new(vec![region], &config, &SBPFVersion::V2).unwrap();
|
|
||||||
|
|
||||||
let ins = SyscallInvokeSignedRust::translate_instruction(
|
let ins = SyscallInvokeSignedRust::translate_instruction(
|
||||||
vm_addr,
|
vm_addr,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
&mut invoke_context,
|
&mut invoke_context,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
@ -1405,14 +1404,13 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping =
|
let memory_mapping = MemoryMapping::new(vec![region], &config, &SBPFVersion::V2).unwrap();
|
||||||
MemoryMapping::new(vec![region], &config, &SBPFVersion::V2).unwrap();
|
|
||||||
|
|
||||||
let signers = SyscallInvokeSignedRust::translate_signers(
|
let signers = SyscallInvokeSignedRust::translate_signers(
|
||||||
&program_id,
|
&program_id,
|
||||||
vm_addr,
|
vm_addr,
|
||||||
1,
|
1,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
@ -1491,7 +1489,7 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping = MemoryMapping::new(
|
let memory_mapping = MemoryMapping::new(
|
||||||
mock_caller_account.regions.split_off(0),
|
mock_caller_account.regions.split_off(0),
|
||||||
&config,
|
&config,
|
||||||
&SBPFVersion::V2,
|
&SBPFVersion::V2,
|
||||||
|
@ -1509,7 +1507,7 @@ mod tests {
|
||||||
|
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1549,7 +1547,7 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping = MemoryMapping::new(
|
let memory_mapping = MemoryMapping::new(
|
||||||
mock_caller_account.regions.split_off(0),
|
mock_caller_account.regions.split_off(0),
|
||||||
&config,
|
&config,
|
||||||
&SBPFVersion::V2,
|
&SBPFVersion::V2,
|
||||||
|
@ -1577,7 +1575,7 @@ mod tests {
|
||||||
|
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1602,7 +1600,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1619,7 +1617,7 @@ mod tests {
|
||||||
assert!(matches!(
|
assert!(matches!(
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1635,7 +1633,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1674,7 +1672,7 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping = MemoryMapping::new(
|
let memory_mapping = MemoryMapping::new(
|
||||||
mock_caller_account.regions.split_off(0),
|
mock_caller_account.regions.split_off(0),
|
||||||
&config,
|
&config,
|
||||||
&SBPFVersion::V2,
|
&SBPFVersion::V2,
|
||||||
|
@ -1707,7 +1705,7 @@ mod tests {
|
||||||
|
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1772,7 +1770,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1791,7 +1789,7 @@ mod tests {
|
||||||
assert!(matches!(
|
assert!(matches!(
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1807,7 +1805,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -1845,7 +1843,7 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping = MemoryMapping::new(
|
let memory_mapping = MemoryMapping::new(
|
||||||
mock_caller_account.regions.split_off(0),
|
mock_caller_account.regions.split_off(0),
|
||||||
&config,
|
&config,
|
||||||
&SBPFVersion::V2,
|
&SBPFVersion::V2,
|
||||||
|
@ -1869,7 +1867,7 @@ mod tests {
|
||||||
|
|
||||||
update_caller_account(
|
update_caller_account(
|
||||||
&invoke_context,
|
&invoke_context,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
false,
|
false,
|
||||||
&mut caller_account,
|
&mut caller_account,
|
||||||
&mut callee_account,
|
&mut callee_account,
|
||||||
|
@ -2168,8 +2166,7 @@ mod tests {
|
||||||
aligned_memory_mapping: false,
|
aligned_memory_mapping: false,
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
let mut memory_mapping =
|
let memory_mapping = MemoryMapping::new(vec![region], &config, &SBPFVersion::V2).unwrap();
|
||||||
MemoryMapping::new(vec![region], &config, &SBPFVersion::V2).unwrap();
|
|
||||||
|
|
||||||
let accounts = SyscallInvokeSignedRust::translate_accounts(
|
let accounts = SyscallInvokeSignedRust::translate_accounts(
|
||||||
&[
|
&[
|
||||||
|
@ -2192,7 +2189,7 @@ mod tests {
|
||||||
vm_addr,
|
vm_addr,
|
||||||
1,
|
1,
|
||||||
false,
|
false,
|
||||||
&mut memory_mapping,
|
&memory_mapping,
|
||||||
&mut invoke_context,
|
&mut invoke_context,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
Loading…
Reference in New Issue