diff --git a/CHANGELOG.md b/CHANGELOG.md index 49d8e82302..15e863f6f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ incremented for features. * lang: Add `programdata_address: Option` field to `Program` account. Will be populated if account is a program owned by the upgradable bpf loader ([#1125](https://github.com/project-serum/anchor/pull/1125)) * lang,ts,ci,cli,docs: update solana toolchain to version 1.8.5([#1133](https://github.com/project-serum/anchor/pull/1133)) * ts: Add optional commitment argument to `fetch` and `fetchMultiple` ([#1171](https://github.com/project-serum/anchor/pull/1171)) +* lang: Add `set_inner` method to `Account<'a, T>` to enable easy updates ([#1177](https://github.com/project-serum/anchor/pull/1177)) ### Breaking diff --git a/lang/src/accounts/account.rs b/lang/src/accounts/account.rs index f182d2e401..7ce20e36de 100644 --- a/lang/src/accounts/account.rs +++ b/lang/src/accounts/account.rs @@ -73,6 +73,10 @@ impl<'a, T: AccountSerialize + AccountDeserialize + Owner + Clone> Account<'a, T pub fn into_inner(self) -> T { self.account } + + pub fn set_inner(&mut self, inner: T) { + self.account = inner; + } } impl<'info, T: AccountSerialize + AccountDeserialize + Owner + Clone> Accounts<'info>