diff --git a/lang/src/cpi_account.rs b/lang/src/cpi_account.rs index e7fb293d6..7a2cedf64 100644 --- a/lang/src/cpi_account.rs +++ b/lang/src/cpi_account.rs @@ -87,6 +87,12 @@ impl<'info, T: AccountDeserialize + Clone> ToAccountInfo<'info> for CpiAccount<' } } +impl<'info, T: AccountDeserialize + Clone> AsRef> for CpiAccount<'info, T> { + fn as_ref(&self) -> &AccountInfo<'info> { + &self.info + } +} + impl<'a, T: AccountDeserialize + Clone> Deref for CpiAccount<'a, T> { type Target = T; diff --git a/lang/src/program_account.rs b/lang/src/program_account.rs index 124c792d3..d74135bef 100644 --- a/lang/src/program_account.rs +++ b/lang/src/program_account.rs @@ -162,6 +162,14 @@ impl<'info, T: AccountSerialize + AccountDeserialize + Clone> ToAccountInfo<'inf } } +impl<'info, T: AccountSerialize + AccountDeserialize + Clone> AsRef> + for ProgramAccount<'info, T> +{ + fn as_ref(&self) -> &AccountInfo<'info> { + &self.inner.info + } +} + impl<'a, T: AccountSerialize + AccountDeserialize + Clone> Deref for ProgramAccount<'a, T> { type Target = T;