Add address lookup table program (#21616)

* Add address lookup table program

* feedback
This commit is contained in:
Justin Starry
2021-12-10 16:02:16 -05:00
committed by GitHub
parent a5a0dabe7b
commit 9b41ddd9ba
21 changed files with 1665 additions and 4 deletions

View File

@ -103,6 +103,7 @@ pub trait WritableAccount: ReadableAccount {
);
Ok(())
}
fn data_mut(&mut self) -> &mut Vec<u8>;
fn data_as_mut_slice(&mut self) -> &mut [u8];
fn set_owner(&mut self, owner: Pubkey);
fn copy_into_owner_from_slice(&mut self, source: &[u8]);
@ -156,6 +157,9 @@ impl WritableAccount for Account {
fn set_lamports(&mut self, lamports: u64) {
self.lamports = lamports;
}
fn data_mut(&mut self) -> &mut Vec<u8> {
&mut self.data
}
fn data_as_mut_slice(&mut self) -> &mut [u8] {
&mut self.data
}
@ -192,9 +196,11 @@ impl WritableAccount for AccountSharedData {
fn set_lamports(&mut self, lamports: u64) {
self.lamports = lamports;
}
fn data_mut(&mut self) -> &mut Vec<u8> {
Arc::make_mut(&mut self.data)
}
fn data_as_mut_slice(&mut self) -> &mut [u8] {
let data = Arc::make_mut(&mut self.data);
&mut data[..]
&mut self.data_mut()[..]
}
fn set_owner(&mut self, owner: Pubkey) {
self.owner = owner;