use solana_sdk::pubkey::Pubkey;
use super::DecodeError;
pub trait AccountAccess {
fn owner(&self) -> Result<Pubkey, DecodeError>;
fn pubkey(&self) -> Result<Pubkey, DecodeError>;
fn lamports(&self) -> Result<u64, DecodeError>;
fn data(&self) -> Result<&[u8], DecodeError>;
fn slot(&self) -> Result<u64, DecodeError>;
}
impl<A: AccountAccess> AccountAccess for &A {
fn owner(&self) -> Result<Pubkey, DecodeError> {
(**self).owner()
}
fn pubkey(&self) -> Result<Pubkey, DecodeError> {
(**self).pubkey()
}
fn lamports(&self) -> Result<u64, DecodeError> {
(**self).lamports()
}
fn data(&self) -> Result<&[u8], DecodeError> {
(**self).data()
}
fn slot(&self) -> Result<u64, DecodeError> {
(**self).slot()
}
}