Add is_writable to AccountInfo (#8196)

This commit is contained in:
Jack May
2020-02-10 21:33:29 -08:00
committed by GitHub
parent 124f77cdb1
commit df782b93ae
5 changed files with 39 additions and 8 deletions

View File

@@ -69,10 +69,17 @@ pub unsafe fn deserialize<'a>(input: *mut u8) -> (&'a Pubkey, Vec<AccountInfo<'a
if dup_info == 0 {
let is_signer = {
#[allow(clippy::cast_ptr_alignment)]
let is_signer = *(input.add(offset) as *const u64);
let is_signer = *(input.add(offset) as *const u8);
(is_signer != 0)
};
offset += size_of::<u64>();
offset += size_of::<u8>();
let is_writable = {
#[allow(clippy::cast_ptr_alignment)]
let is_writable = *(input.add(offset) as *const u8);
(is_writable != 0)
};
offset += size_of::<u8>();
let key: &Pubkey = &*(input.add(offset) as *const Pubkey);
offset += size_of::<Pubkey>();
@@ -95,6 +102,7 @@ pub unsafe fn deserialize<'a>(input: *mut u8) -> (&'a Pubkey, Vec<AccountInfo<'a
accounts.push(AccountInfo {
is_signer,
is_writable,
key,
lamports,
data,